「愛情就像脂肪,是點點滴滴的積累」這是 18 歲少女微軟小冰造出來的句子,咋一聽來,倒是很能引起萬千熱戀中的少男少女的同理心:「這可不就是戀愛後的幸福肥嗎?」
唱歌、寫詩、作畫...... 作為一款主業為「陪聊」的對話機器人,微軟小冰近幾年來不斷解鎖其他副業的進階之路,受到了不少關注。然而為什麼要讓微軟小冰唱歌、寫詩、作畫以及現在為什麼還讓她開啟了「造 比喻句」技能?微軟小冰這些技能的背後又有哪些技術支撐?伴隨著前不久第七代微軟小冰的誕生,各位心中的這些疑問想必又被放大了不止一倍。
這不,微軟團隊就專門開了場研討會來為大家做講解了,並且還派出了微軟小冰首席科學家宋睿華、微軟小冰首席 NLP 科學家武威、微軟小冰首席語音科學家欒劍三員大將坐鎮,不僅介紹了微軟小冰 2019 年的最新研究進展,還分別從對話、人工智慧創造以及跨模態理解三大技術板塊介紹了微軟小冰背後的技術原理。
從左至右依次為:武威、欒劍、宋睿華
在走進小冰的硬核技術解析前,我們來看看小冰從 2014 年誕生以來到如今更新到第七代,都實現了哪些成果?
微軟小冰首席科學家宋睿華首先介紹了小冰自 2014 年誕生以來的整體研究概況。
一開始,她就強調了小冰從 2014 年誕生以來到如今更新到第七代所承載的使命,那便是:改變連接人類和世界的方式。
「比如說網際網路出現之時,人們再也不需要走到世界的另一端去獲取知識和圖片等信息,而是在家就能非常方便地看到並獲得遠方的信息,這是改變了連接人類和世界的方式的一項技術;而當下人人攜帶的手機則再一次改變了連接人類和世界的方式,甚至有人調侃說新聞流的軟體比你自己更了解自己的喜好。
而我們預測,未來 AI 也將成為改變人類社會的一項技術。如果讓 AI 作為連接人類與世界的中間載體,就可以讓人類通過更自然的 、多感官的交互與世界建立聯繫。」
進一步,宋睿華指出,除了構建知識圖譜和提供服務以幫助人類與世界更加自然地「打交道」外,還希望能夠讓 AI 創造內容,小冰在兩年前發布了人類歷史上第一本人工智慧創作的詩集,在今年舉辦了人類史上的第一個 AI 畫展,便都是人工智慧創造的一部分。
而要檢驗小冰是否真地能夠成為改變連接人類和世界的方式、與人類自然相處的技術,就必須要對其進行落地,據悉,目前小冰已經搭載了 4.5 億臺第三方智能設備,而微軟內部為衡量 EQ 的高低所「發明」的 CPS(人工智慧和單個用戶的平均對話輪次)指標上,目前小冰已達到 23 輪。
對小冰進行簡單的介紹後,宋睿華落腳到小冰背後的四個技術研發重點:對應核心對話的自然語言處理、對應聽覺和發聲的語音學研究、對應視覺和表情的計算機視覺和圖形學以及多對應內容創造的多模態生成。
基於這幾項技術研發重點,小冰的研究團隊在過去幾年中也取得了一系列學術成果,包括 48 篇在 AAAI、IJCAI、ACL、KDD 等國際學術頂會上發表的論文、72 項在全雙工、多模態等領域極具領先性的專利。而在今年,團隊也在在 ACL、IJCAI 等國際頂會上發表了 10 篇論文,與此同時,「Love is as Complex as Math」這篇論文還在 CLSW 2019 上獲得了優秀論文獎。
接下來,她與微軟小冰首席 NLP 科學家武威、微軟小冰首席語音科學家欒劍分別從對話、在人工智慧創造和跨模態三個方面介紹了微軟小冰背後的技術原理。
「朝向自我完備的對話機器人」是微軟小冰首席 NLP 科學家武威這次分享的主題,而之所以選擇採用「自我完備(Self-Complete)」一詞,他表示,是經過深思熟慮後認為該詞能夠很好地概括小冰在過去幾年中的研究成果。
他認為,一個能夠自我完備的對話機器人應該擁有以下幾項能力:
第一,學習能力。學習是人類發展進化並走向成熟的一個基本能力,對於對話機器人而言亦然如此。而對話機器人的學習能力有兩個層次,一是能夠從人類的對話中學習怎樣去說話;二是當對話機器人發展得越來越成熟之後, 每個機器人可能都在各自專注的領域有很豐富的知識那是否有可能讓這些機器人之間互相學習,從而實現信息共享和能力互補呢?
第二,自我管理能力。從初級層次來看,對話機器人能夠管理好單輪對話的表達,從更高級的層次來看,它在管理好單輪表達後,還要能夠把控好整個對話流程。
第三,知識聯結能力,即對話機器人能夠聯結散落在世界上的各項多模態知識。
而對於對話機器人的整體發展而言,這三項能力貫穿起來其實是構成了一條縱向,此外,還有一條橫向,即核心對話引擎的進化,以小冰為例,一開始小冰使用檢索模型通過重用已有的人類對話來實現人機互動;後來採用生成模型以自己合成回復;再到後來則使用共感模型去自主地把握整個的對話流程。
其中,對於這三項朝向自我完備的能力,武威進行了更加詳盡的解說:
1、學習能力
首先從檢索模型上來看,下圖展示了檢索模型在學習上這 4 年來的發展情況,每一個方框都代表一個模型,而紅色的方框則代表微軟小冰團隊的工作:
「基本上這 4 年來,模型從最簡單的 LSTM 模型發展到了最近的預訓練模型,模型的質量得到了非常大的飛躍。而指標上的飛躍實際上是一個表面現象,背後代表了這個模型從單輪到多輪、從淺層次的表示和匹配到深層次、寬度的表示和匹配的一個發展進程。」
而對於這幾年來發表的相關主題的論文,武威認為背後的思想可歸結為:將用戶的輸入和機器人的回覆候選都表示為向量,再通過計算向量的相似度來度量回復候選是否是合適的回覆。
由於很多研究者認為深度學習的本質就是表示學習,因而大家的研究思路基本上都為:研究怎樣表示用戶輸入和回復候選。而在深度學習、神經網絡時代,表示的方法非常之多,最簡單的方法如詞向量甲醛平均,之後出現的方法如卷積神經網、循環神經網以及基於句子的表示等等。
用戶輸入和回復候選表示以外,檢索模型也可以嘗試在匹配上做得更細,例如微軟小冰團隊首先讓用戶輸入和回復侯選在每一個詞上都進行交互,然後得到一個充分交互的矩陣,接著把交互的信息從這個矩陣中通過神經網絡抽取出來,最後得出匹配程度。
而隨著對話機器人從單輪對話發展到多輪對話,表示就從表示一句話變稱表示多句話,這就需要進行一個額外的工作,即表示上下文中的多句話後,還要將多句話的表示糅合成上下文的表示再進行匹配。在匹配上,機器人也能夠結合上下為做細膩度的交互,例如可以將上下文中每一句輸入和回復候選進行交互,再將交互信息通過一個神經網絡整合起來成為最終的上下文和回復候選的匹配程度。
以微軟小冰團隊今年在 WSDM 和 ACL 上的工作為例:
深度學習發展至今,一個句子或一個詞會有多種表示,然而如何在一個深度匹配網中融合這些表示呢?一般既可以在匹配的開始就融合這些表示,也可以在匹配的中間和最後融合表示。這項 WSDM 工作中,其最重要的成果就是,他們發現越晚融合這些表示,效果就越好,並且在最後一步融合時,取得了在標準數據上最好的結果。而這個模型現在基本上成為了各種做檢索模型必備的一個基線模型。
在 ACL 這項工作中,微軟小冰團隊的考量點是能否將模型做寬以及做深。當時的想法是已有的檢索模型都對上下文和回復候選進行了一次交互進而得到其匹配程度,那是否能在一次交互之後將剩餘信息再度進行交互呢,基於這一思路,他們最終做出了一個深度匹配網。該模型目前也在標準數據集上是保持著最好的效果。
其次從生成模型上來看,檢索模型在學習上的發展進程有 4 個維度:
武威指出,生成模型雖然發展時間不長,但是發展速度非常快,簡單的生成模型就是基於注意力機制的端到序列到序列的模型,而考慮到這種模型非常容易生成非常頻繁、沒有信息量的回覆,在 2017 年,他們就思考能否把話題內容引入到回覆中,讓生成的回覆更有內容,因而當時就提了這樣一個模型:
基本思想就是通過外部無監督訓練話題模型,產生一些話題語料,然後在生成模型中通過一個話題注意力機制去遴選這樣的話題語料,最後再在解碼過程中單獨做出一個話題的生成概率,讓話題能夠更容易出現在回覆中。
在多輪生成上,研究團隊也開展了很多研究工作,以今年在 EMNLP 上發表的一項工作為例,思想是通過一種無監督方式,對對話上下文進行補全,然後進行回復。
在基於知識、多模態的生成上,業界也有一些工作,比如基於網絡把知識、情感多模態的內容引入到對話生成裡面。
機器人可以從人類的對話中學習怎麼去說話,那能否讓機器人通過互相學習來共同進步呢?
對此,微軟小冰團隊也做了一個簡單的嘗試,即讓兩個檢索模型在訓練過程中互為師生,互相交流。在每一次迭代中,一個模型都把它從數據中學到的知識傳達給另外一個模型,同時又從另外一個模型中接觸到它的知識,然後這兩個模型互相學習,最終能夠得到共同的進步。
下面三個圖實際上是對應了學習的三種策略,包括動態的數據課程、動態的樣本加權以及動態的最大間隔。
在每個策略中,紅線左側表示的是不需要算法進行訓練的模型,紅線右側的算法名字叫 Co-teaching,即兩個機器人互相教的一個過程。原本模型的訓練效果是沿著藍線繼續走的,而使用了 Co-teaching 算法後,每一個模型的訓練效果都得到了提升,也就是說著三個策略下所有的「教學相長」都是可以實現的。
2、自主管理能力
據武威介紹,自主管理在小冰裡面一個最有趣的應用是在其第六代中發布的共感模型,共感模型的核心是通過對話策略對整個的對話流程進行把控,其背後實際上有兩個模型:
回復生成模型,決定的是機器人說什麼。
策略決定模型,決定的是機器人要怎麼去說。
這兩個模型結合在一起,讓微軟小冰從原來基於上下文直接產生回復的模式轉變為:基於上下文進行決策,然後再根據決策來決定最終的回覆。其中最大的靈活性就在於策略環節,其策略可以是一些意圖、話題,也可以是一些情感等等,當然也可以是意圖、話題、情感的組合,而這種策略組合,可以產生非常多樣的、複雜的對話流程。對話機器人可以通過這種策略模型去管理整個複雜的對話。
與此同時,他也指出兩個需要解決的問題:
對於第二個問題,常用辦法標註一些數據,通過有監督的最大似然估計辦法,來學習策略組合,也可以設定一些回報函數,通過增強學習的辦法,來學習這種策略組合。
而對於第一個問題,小冰團隊今年在 ACL 的一項工作中的思路是:不管意圖也好、話題也好、情感也好、個性也好,其實都代表了回復的一種屬性,那怎麼能找到一個一般方法能夠用來生成表達多屬性的回覆呢?基於這一思路,他們提出了 Meta-Word 的概念,而 Meta-Word 實際上代表了屬性的組合,即在整個對話的流程中,可以通過變換屬性組合生成各種各樣的回覆,進而組合成多種對話。他認為,有了這項工作後,對話的多樣性或者說對話生成的多樣性就不再是問題。
進一步,他指出這種模型至少有以下幾個好處:
第一,可解釋性很強,讓開發者和終端用戶能在對話機器人生成回復之前都能知道可能會得到哪些回復;
第二,可以把 Meta-Word 做成像一個接口一樣,讓工程師可以通過編輯這個接口來編輯 Meta-Word 中的屬性,以及屬性值去打造具有各種各樣的風格、情感、話題、意圖的各類對話機器人;
第三,Meta-Word 也提供了一種一般的解決方案,像現在的一些前沿研究方向,包括基於話題的對話生成、情感的對話生成、個性化的對話生成,都可以在這個框架下找到一個解決方案,不僅如此,這個方案還具有很好的擴展性,工程師們通過簡單地增加、減少或者修改 Meta-Word 裡面的屬性值,就可以調整整個生成模型的效果。
3、知識聯結能力
說到聯結,無疑就涉及到多模態交互,而簡單而言,多模態交互指的是輸入可以是對話、語音、文本知識、多媒體,輸出也可以是對話、語音、多媒體,在這個過程中很重要的問題是機器人如何能夠把多模態的知識聯結在一起進行消化、吸收,最終將其有機地組合起來變成一個輸出。
這些多模態知識散落在各個地方,可能是在網上,也可能是在論壇中,那如何把這些散落在各個地方的知識聯結在一起,然後以一種一致的方式通過對話機器人輸出出來呢?
武威認為,一旦能夠實現這一點,多模態交互也基本解決了。
欒劍從更加輕鬆的視角,主要聚焦「為什麼要讓小冰唱歌?」、「如何讓小冰唱歌?」兩個方面介紹了小冰唱歌的技術進展。
「為什麼要讓小冰唱歌?」
針對這一被提問了多次的問題,欒劍做了解釋:其實 2015 年,小冰就具備了語音聊天的功能,即除了文字回復以外,還能夠通過聲音來回復。而這個聲音推出之初,受到了業界以及很多 C 端用戶的廣泛關注和好評。在當時這個聲音聽起來非常生動活潑,而且非常符合小冰的人設:一個精靈古怪的萌妹子。
後來在一年多的時間裡,團隊給這個聲音加了很多技能,比如兒化音、中英文混雜的朗讀、講兒童故事、各種情感的表現,並隨之意識到,語音合成領域一些主要的、大方向上的東西可能都已經解決了,而在類如分詞、多音字、韻律等方面可能還是有一些瑕疵,而這可能需要通過語義理解長時間的積累和技術的發酵,來一步步地解決。
基於此,團隊認為可能要尋找一個更有挑戰性的課題來繼續開展研究,而最終選擇做唱歌主要有三個原因:
第一,唱歌的門檻比說話高。普通人都會說話,但是不是所有人都會唱歌的,更不是所有人都能唱得好聽,與此同時,唱歌還有三個要素,即除了發音之外,它還有其它要素的要求,所以它在技術上有難點。
第二,唱歌在情感表達上更加豐富激烈一些。古人說「幸甚至哉,歌以詠志」,說明人們在特別高興的時候就想唱歌,《詩經》說「心之憂矣,我歌且謠」,說明人類在悲傷的時候也喜歡唱歌。現在流行歌曲裡面有很多情歌都是和失戀相關的,不管因為什麼原因失戀,都能找到一首與其心境很對應的情歌。而除了高興和悲傷之外,在一些比較重要、有紀念意義的場合,比如說今年是建國 70 周年,大家在那段時間可能都會被《我和我的祖國》這首歌單曲循環,所以歌曲是一種喜聞樂見的形式。
第三,唱歌是一種很重要的娛樂形式。隨著《快樂女生》、《我是歌手》、《中國好聲音》類似的節目紅遍大江南北,他們認為唱歌應該是很有市場前景的研究方向。
決定讓小冰唱歌后,具體該如何讓小冰唱歌呢?
這就需要研究一下唱歌和說話有什麼不同,因為唱歌的很多技術可以說是從語音合成沿襲過來的,經過分析,他們歸納出了三大要素:
第一,發音,因為唱歌不是哼歌,不是用「啊」或者「嗯」把這首歌哼出來就好了,吐字發音一定要清晰,這和說話是一樣的。
第二,節拍,它是通過一種節奏的變化來表現藝術的形式,像我們普通的說唱,比如「一人我飲酒醉」這種說唱的形式,可能沒有其它的旋律,主要就是靠節拍的組合來表達,節拍是唱歌裡面非常重要的要素。
第三,旋律,每個字的音高會不太一樣,如果音高唱錯了、跑調了,這首歌肯定就沒法聽了。
這三大要素構成了唱歌最基本的元素,當然基於這三大要素也可以疊加很多的技巧,比如顫音、氣音等。
那這三種要素通過什麼方式讓機器能夠知道應該怎麼唱歌呢?
而追溯到傳統唱歌合成的方式,其主要包括兩大類:
這種方式出現得比較早,基本思想是可以先建一個單元庫,這些單元的含義在普通話中可以是聲母和韻母,中文有 21 個聲母,有 35 個韻母。如果不考慮聲調的話,音節大概有 400 個左右,可以把這些單元分別找一個發音來錄,比如說「a」這個發音,可以錄不同長度、音高的「a」,以此去採集這樣一個單元庫。
創建好單元庫以後,可以根據發音、目標時長和目標音高,從單元庫裡面去挑選一個最符合要求的單元,然後通過信號處理的方法去修改它的時長、音高,使得它能夠完美匹配想要達到的效果,然後再把這些單元串起來進行單元拼接,得到最後的音頻。
這個方法最大的優點是比較簡便易行,而且音質基本可以保留在採集聲音時的最佳音質,但是它也存在問題,其中最大的問題便是:因為單元採集的過程中,每個發音都是單獨採集的,而在一串語流裡面,單獨的發音和在一串語流裡面連續的發音之間的差別較大,所以用這種方法生成出來的歌會比較生硬一些,唱得不是那麼自然,而且因為它完全是由單元拼接的,所以變化可能會相對少一些,字與字之間的過渡也不會很好。
最早的參數合成就是隱馬爾可夫模型,這個方法在語音行業裡面已經被用了很多年。這種方法就不是建一個單元庫了,而是將所有錄音的數據都提取出聲學參數,包括能量譜、時長、音高,然後去建一個模型,等到要合成的時候,就根據需要的發音在模型中國將這個聲學參數預測出來,然後通過聲學參數、聲碼器把音頻的波形重構出來。
這種方式比較靈活,基本上可以視作把一個東西完全打碎之後再重新拼起來一樣,所以它的變化很豐富,甚至可以創造一個從來不存在的聲音,可以得到一些在訓練集裡面根本沒有出現過的東西。但是它最大的缺陷就在於聲碼器,即將它變成了參數,然後參數再還原成聲音的這個過程中會有音質的損失,所以它最大的缺陷就是音質上可能會比第一個方法更低。
據介紹,小冰一開始選擇採用的就是第二種方式,因為團隊認為第二種方式的前景更加廣闊,因而後續的重點研究也集中在對第二種方式的提高上。
小冰最開始採用的模型就是從樂譜中把唱歌的三大要素採集出來之後,分別用三個模型對聲譜參數、節奏序列、音高軌跡分別建模,這裡用的是 DNN,也就是神經網絡。然後把預測出來的參數通過聲碼器生成波形。
團隊一開始採用最簡單的模塊化方式來做唱歌模型,但是隨之發現了問題,即同樣一個發音,比如「啊」這個發音,在高音和低音上的的音色會有比較明顯的區別,這時如果都用同樣的方式合成,可能會出現問題。對此,他們把節奏和音高的預測結果作為輸入,傳到聲譜參數預測裡,通過這種方式緩解了此問題。
進一步考慮到既然三個參數之間有很重要的耦合性,互相之間需要協調、同步預測,他們就乾脆用一個模型同時預測這三個參數。在最新的模型裡面,他們用到了很複雜的結構,包括全卷積神經網絡、注意力以及殘差連接等等,用這種方式生成出來的波形,它的自然度和流暢度會得到一個明顯的提升。
一個好的模型,除了要在數據上取得成功,更關鍵的是它的適用性要比較強,目前小冰在任何一個聲音、風格上,都能建模的比較好,並且取得比較好的效果。
而在數據上,正如深度學習之所以發展得這麼好一大重要支撐便是數據一樣,唱歌這項任務也需要數據,然而該任務上的數據採集還比較困難,因為相對於說話來說,清唱的數據非常少——絕大部分的數據是混雜著伴奏的音軌。
該如何去利用這種已有的混合了伴奏的數據進行很好的學習呢?這裡其實提出來了三個問題:
第一,要把伴奏裡人聲部分的時間軸找到;
第二,能夠準確找到每個發音的起始和結束時間;
第三,要把人聲的音高軌跡提取出來。
如果這三點能做到的話,小冰就能從含有伴奏的音軌的數據裡面學到旋律,進而豐富演唱風格。
針對如何在伴奏音頻在如何更好地提取人聲的音高,小冰團隊也發表了一篇論文,在這裡欒劍重點強調了論文實現了三點創新:
第一,模型的輸入用的是原始波形,而不是常規的能量譜,這是因為提取音高時,模型主要是要檢測周期性,所以它的相位信息是非常重要的,如果是能量譜的話,那這個相位就丟失了。
第二,模型採用全卷積網絡+殘差連接的網絡結構,非常清晰、簡潔;
第三,軟分類標籤,即要準確判斷每個時刻音高對應的是 77 個鋼琴鍵裡面的哪一個鍵,傳統的方式可能是硬標籤,比如說就是學習的時候標註這個時刻對應的中音八度的那個鍵,但是只有那個鍵會標「1」,其它的地方都標「0」,實際上這個方法會有一個問題,就是忽略了檢測結果和標準結果偏差一個鍵值或者偏差 10 個鍵值之間錯誤的程度的差別是很大的。
最後他總結到,接下來不管是在人工智慧創造方面,還是唱歌的提高上,都要兩條腿走路:一邊要不斷提高模型,一邊要不斷挖據更多的數據。如果在這兩方面取得越來越多進展,小冰在人工智慧創造和唱歌上的質量就會不斷得到提高。
最後,宋睿華再次上臺介紹了小冰在人工智慧創造上的另一種嘗試——創造比喻。
她提到開始這項嘗試的契機非常偶然:某次在跟學生聊天時,有一位同學提到網上有一種說法,即不管什麼樣句子,後面加一個「愛情也是這樣的」都是說得通的。我就問他為什麼,他舉了個例子——「人有兩條腿,愛情也是這樣的」,在我思考原因之際,又有一個同學說「你的意思是愛情總會走嗎?」另一位同學反駁到:「為什麼不是愛情總會來呢?」這給我留下了非常深刻的印象。我們不妨將這種說法視為一種規則,愛情也是這樣的一種規則。
確定這個研究課題後,研究團隊首先要考慮的就是喻體,比方說把「愛情」比作什麼,並且要求不要在人類已有的文章裡去挖掘這種比喻句,而是要讓小冰真正創造出人類不曾說過的比喻。
經過更加細緻地分析這一問題後,他們發現,本體一般是比較抽象的,是難以理解的,比如說愛情,之所以在某句子後面加一個「愛情也是這樣的」都能對,是因為「愛情」真的是太複雜了,人們沒法抓住它,就會認為好像怎麼樣都是可以解釋的。
其中,他們也從詩歌中去找概念,發現詩裡最多這種難以理解的抽象概念,因而從詩歌的主題中抽取了 120 個主題,擴展出 6 個詞,經過日誌過濾後找出小冰的用戶也喜歡說的一些概念,最終找到了 96 個概念。
如下圖中的表格所示,這張表的左邊是小冰的用戶中最常提到的 10 個抽象的概念,而找到的喻體實際上跟這幾個概念的關聯並不大,而且是一些非常具體、好理解的概念,經過日誌挖掘以及計算某個詞的具體程度進行排序等操作,最後找到了 3000 個名詞。這張表的右邊展示了可以作為喻體的候選的一些詞,比如說食物、信號、遊戲等等,這些都是比較具體的。
接下來如何解這個問題呢?
宋睿華接著介紹,假設有了一個本體「愛情」和一個喻體「中國足球」,他們用詞向量來表達這兩個看上去是毫不相關的概念,並將它們變成向量,經過降維之後,投影在二維空間上。
如下圖所示,「愛情」的周圍有婚姻、感情等詞語,「中國足球」周圍有開局、比賽等詞語,二者與周圍詞語的關聯性都非常高,說明了這種向量的表達效果非常好。
其中靠近一邊的詞其實並不是那麼好用,而位於二者中間地帶的詞,即有一種平衡的詞是最好用的,比如說「愛情像中國足球一樣虛幻」,或者是「愛情像中國足球一樣沒有未來」這樣的一些比喻會給人們一種新穎卻不突兀的感覺。
下表展示的是團隊當時用自動方法把和愛情不相關的一些概念挖掘出來的一些連接詞,其中被標為綠色的部分是算法自動認為比較合適做連接詞的一些詞,比如說「愛情」和「股票」之間,算法自動發現了「貶值」、「博弈」;「愛情」和「數組」之間發現了「複雜」;「愛情」和「風水」之間是「迷信」;愛情和葡萄酒之間是「奢侈品」。
針對最後這一組的發現,宋睿華談到,剛開始並不是很理解,直到所有的算法做完後得出了比喻句「愛情就像葡萄酒,對程式設計師來說都是奢侈品」他們才發現還挺有感覺的。
隨著進一步研究,團隊發現如果將這些連接詞「分而治之」,它們可以有不同的詞性,比如說形容詞、名詞和動詞,各自處理方式是不太一樣的。
其中形容詞比較簡單,比如「愛情」和「數學」之間可以找到一個形容詞——「複雜」,如果用這個詞來連接它們,就可以利用搜尋引擎把「愛情」和「複雜」搜一下,再根據返回的結果知道「複雜」是否可以形容「數學」和「愛情」,從而判定「複雜」可以是合適的連接詞。一旦確定,就可以用一個模板將它嵌進去:「愛情是複雜的,和數學一樣」。而如果連接詞是動詞和名詞,要比形容詞難做一些。
在動詞方面,比如本體是「靈魂」,喻體是「球迷」,「吶喊」是連接詞,那怎樣生成解釋呢?方法是:首先把「靈魂」和「吶喊」作為聯合的關鍵字放到搜尋引擎裡搜索,把前一萬個結果甚至十萬個結果拿回來,在這些結果的摘要中找出相關的短語,並且採用 NLP 分析找出這些句子的主謂結構,將主謂結構的詞和「球迷」進行相似性匹配,看這些詞在語義上是否和「球迷」有一些關聯——越是關聯,就越是可以連接它們。在實驗中,排在前面的短語就是「在無聲的吶喊」,由此在模板中形成的句子便是:「靈魂就像球迷一樣,在無聲的吶喊」。
在名詞方面,方法和動詞比較像,但在抽取結構時,即在搜尋引擎前面一萬條、十萬條的摘要中,要抽取的是動賓結構的短語。比如說喻體和本體分別為「愛情」和「脂肪」,把「愛情」和連接詞「積累」一起放入搜尋引擎中搜索時,找到一個很好的短語——「是點點滴滴的積累」,它跟「脂肪」匹配得也不錯,由此得出了一個比喻句:「愛情就像脂肪,是點點滴滴的積累」。
在評價方面,他們採取的方法是:
首先評價連接詞是否合適,即讓標註者去想像,如果「愛情」和「數學」用「複雜」來連接,是否能想像到一種聯繫,如果覺得可以,就可以打上標籤「1」,如果不可以,就標成「0」。在這一步驟中,大概有 1/4 的連接詞都是不錯的。
接著,基於這些連接詞,團隊採用「分而治之」的方法造出了 1965 個比喻句,並從三個方面對這些句子進行了評價:第一,造出的這個比喻句是否通順;第二,這個比喻是否恰當;第三,這個比喻是否新穎。
下圖是小冰生成的比喻句的更多示例,有好也有壞:
隨後團隊又將這些比喻句放到了線上去檢測一下用戶對小冰創造出的比喻有什麼反映,並測試了三種可能性:
第一,不要用比喻,就用陳述句,比如說「心靈是閃光的」。
第二,用一輪的比喻說出去,比如說「心靈像鑽石一樣閃光」。
第三,把對話拆成兩輪,第一輪賣一個關子說「我聽說心靈像鑽石,你知道為什麼嗎?」然後用戶說「為什麼呀?」或者其他的,小冰就會說「因為它們都是閃光的」。
結果發現,比喻句果然是要比陳述句來的吸引人一些。其中,拆成兩輪的對話中,用戶更喜歡「先賣一個關子,然後再解釋」的方式。
本次分享的第三個技術板塊——跨模態理解,依舊由宋睿華帶來分享。
首先,她先一段文字中的三句話「北極熊愛吃海豹肉,而且愛吃新鮮的」、「北極熊常常躡手躡腳地接近獵物,像貓兒那樣肚皮貼著地面,慢慢靠近,最後一躍而起,伸出爪子,露出獠牙」、「當北極熊悄然接近獵物,它有時會用爪子遮住自己的鼻頭,這樣一來,它就會變得更不易被察覺,很明顯,北極熊是在遮掩自己的鼻子」出發,闡述了人在理解語言時,不僅會應用頭腦中控制語言的部分,還會調動其他感官的事實。
想要讓小冰更像人類,讓她更好地理解對話和語言,是不是也可以模擬人類的能力,在短短的語言背後找到一些非常常識性的東西呢?
對此,宋睿華指出可以將其定義成這樣一個問題:針對由 N 句話構成的一個故事,能否讓機器生成 M 個對應著 N 句話的圖片,即像人類聽到這個故事後想像出來的場景一樣。
而這種做法其實跟現在很多熱門的課題都很相似,例如 Text-to-Image、Text-to-Video、Story-to-Image 等等,而這些方法總體而言,主要採用了兩種方法:
在 ACM MM 這篇文章中,小冰團隊受模擬體驗假說的啟發,考慮能不能讓小冰也有自己的針對圖像和文字的匹配的以往記憶,從而也可以在看到一個故事的句子後調出她以前的一些經驗,然後模擬出現在的場景,甚至做一些替換,然後使得這個場景更加一致。
具體而言,即通過 Story-to-Image Retrieval 的方法來使驅動小冰「回憶」出這樣一個圖像。不過宋睿華也提到,在這一環節面臨三個難點:
第一,對故事中的一句話做查詢,實際上和 Image Search 的查詢有一個很大的不同,即這句話是上下文高度相關的,不能單拿出來理解,而是一定要放在整個故事的語境中理解,對此,他們做了一個比較複雜的 Hierarchical Attentions,以更好地利用上下文語境。
第二,如果把故事畫成一個故事板時,細節上哪怕有一點不對應,都會讓人覺得怪怪的,比如說「這個狗和我一起玩網球」,如果得到的圖像是「狗在玩飛盤」就會讓人感覺有點奇怪,因而做匹配時要非常嚴謹。
第三,一句話有時候信息量很大,或者圖片庫並沒有那麼湊巧剛好有一幅圖可以展示出所有的信息點,這時候人類藝術家可能會同時用幾幅圖來展示這一句話,但是資料庫中,用來做訓練的數據都是一個接一個的,並不存在這樣的數據。
此外,這項任務高度依賴於圖片庫中到底有什麼,所以他們提出了 One-to-Many 算法來解決這一問題,例如「有一個老太婆養著一隻母雞,它每天下一個黃燦燦的金蛋」這個句子會檢索出一張有雞的圖片,而通過使用 One-to-Many 算法,就能夠在得到的這張圖前面再插入一張老奶奶的圖片。
該算法分別在 In-domain(VIST)以及 Out-domain(GraphMovie)數據集上進行了測試,都獲得了不錯的效果和排名(如下兩表所示)。
最後,宋睿華對於研討會分享的三個重點環節進行了總結,並對小冰未來的發展進行了展望:
在對話方面,希望小冰能夠實現更加自主的更新,更加自主地控制對話流;
在人工智慧創造方面,希望小冰能夠在才藝上實現更多的創新,其中要重點擴展學習資源以不斷突破創新的邊界;
在多模態上,希望小冰能夠像人類一樣去理解世界以及與人交互,其中既面臨著數據問題,也面臨著模態大跨度的挑戰,這就需要大家研究出更好地融合多模態信息的方法。
「我們一開始推出小冰其實是希望能夠做出一個對話框架,而這五年來小冰逐漸長成了一棵大樹,在此過程中也在不斷地督促我們去了解怎樣用技術構建出實現像人一樣的人工智慧所必須的要素。時至今日,我們也希望未來她能夠成為一個通用平臺,去幫助研究者和廠商們開發出各種各樣的 AI,並最終形成一片 AI 森林。我們將這樣的 AI 平臺稱為 AI beings。」宋睿華用這段話為本次研討會的分享劃上了一個圓滿的句號。
雷鋒網(公眾號:雷鋒網) AI 科技評論報導。
雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。