機器如何聽懂我們說的話?

機器如何聽懂我們說的話?

講者/李宏毅(台大電機系助理教授)|彙整/蘇建翰
整理自2018.12.16〈CASE探索系列講座第20期.機器能聽懂人說話嗎?〉

機器是怎麼聽懂人說話的

要讓機器聽懂人說的話,首先我們需要讓機器可以把聽到的一段聲音訊號變成文字,也就是所謂的語音辨識。有了這些聲音訊號辨識出來的文字,再來想辦法讓機器能夠理解文字的內容

就像人類的文字世界是由一個個詞彙組成的,機器的學習可以先從詞彙的理解開始。今天,我們可以利用Word Embedding的技術,讓機器去閱讀文本,透過上下文之間的關係來推論出每個詞彙之間的意義。舉例來說,如果機器在閱讀新聞時,看到「馬英九在520宣誓就職」和「蔡英文在520宣誓就職」這兩個條目,那麼雖然沒有人告訴過機器「馬英九」與「蔡英文」是什麼意思,但是機器能推論出這兩個詞在某種程度上是相關的,因此如果我們讓機器讀越多的書,機器就越能理解這些詞彙之間的關係,猜出他們代表什麼意思。

跟著鄉民去看熱鬧

除了傳統有文法、有結構的文本,我們也可以拿內容千變萬化,流行語常常讓不熟悉的人也摸不著頭緒的網路論壇來測試,看看機器是不是真的能理解網路用語,可以當一個合格的「鄉民」。

這邊講者舉知名的批踢踢八卦版為例,常見的用語「好棒棒」和「好棒」看似差不多,但其實在意義上是恰恰相反的兩個詞。經過實驗讓機器去看了三個月份量的內容之後,機器對於「好棒棒」相似詞的答案給出是「阿不就好棒棒」、「好清高」、「好高尚」等等,從這個結果我們就可以知道機器是真的理解這個詞,發現這個其實具有反諷的意涵。

而除了相似、相反詞這種比較簡單的問題外,機器也能進行一些簡單推論,比如說當被問到「魯夫之於海賊王等於鳴人之於什麼?」,機器可以推論出答案是「火影忍者」,這種角色和作品的對應關係。

讓機器懂你的心

除了理解內容以外,經過循環神經網絡(Recurrent Neural Network, RNN)模型的訓練,機器也能分析情緒,判斷內容的情緒是正面的,還是負面的。比如說:

  • 「AI is powerful, but it’s hard to learn.」
  • 「AI is hard to learn, but it’s powerful.」
  • 「AI is powerful, even though it’s hard to learn.」

雖然這幾個句子只有調動詞語的順序,或者字詞上的輕微差別,但是經過訓練的機器可以判斷出這些句子的情緒。這個功能是相當實用的,我們可以應用到市場的調查上,去分析人們對商品的評價是正面居多還是負面居多。

另外,綜合前述機器的能力,我們可以讓機器考考看托福的聽力測驗,機器在聽完一段文章、看完問題和選項後必須要選出答案,就像大考前一定要刷一下歷屆試題,機器的訓練資料是考古題,目前的成果可以達到五成左右的正確率,雖然並不是很完美,但跟瞎猜比起來可說是好上許多。

阿笠博士的變聲器

除了讓機器理解文句的內容,更進一步的,我們會希望機器也能嘗試創作。利用生成對抗網絡(Generative Adversarial Network,GAN)的模型來進行訓練,機器可以做到正面、負面之間文字風格轉換的工作。舉例來說,給機器一個負面的句子「sorry for doing such a horrible thing」,我們會得到機器覺得正面的「thanks for doing a great thing」。

這個功能有時可以讓我們看到一些意料之外的訓練成果,例如,機器會把負面語句「胃疼、沒睡醒、各種不舒服」轉成正面語句「生日快樂、睡醒、超級舒服」,對於「我肚子痛的厲害」機器的回應則是「我生日快樂厲害」,雖然就人類的角度來看這個「胃疼」、「肚子痛」和「生日快樂」的風格轉換可能沒什麼道理,但我們可以得到的一些對機器有趣的理解,顯然機器認為腹部不適的相反是「生日快樂」。

除了文字上的風格轉換,機器還能夠模仿某個人的聲音說話,就像柯南裡阿笠博士發明的蝴蝶結變聲器一樣。在以往,要能成功做到語者轉換,比如說讓A模仿B說話,你得要先邀請到A本人大駕光臨,錄製會需要用到的字詞的聲音訊號再去重新組合,現在有了GAN,只要有大量A和B的聲音訊號,這些聲音訊號不需要是同樣的句子,甚至不需要是同一種語言,只要拿這些聲音訊號去訓練,機器就能幫我們達到語者轉換的工作。

展望未來

現在語音辨識及處理的系統看似成熟,可以在每個人的手機上實現,但其實多半只能適用於使用人口較多的語言。由於機器的訓練需要大量資料,不僅要有聲音訊號還要標註文字,因此世界上多數的語言還沒有好的辨識系統。

要為每一種語言都蒐集大量資料是耗時費力的,有沒有可能讓機器就像小嬰兒一樣,很自然地就能從大量的聲音訊號和不需要有對應關係的文本去學會一種語言呢?這是有可能的,目前GAN的成果在音標辨識上已經可以將錯誤率降至四成。就像在星際大戰裡,有一個角色是精通六百萬種溝通方式的機器人C-3PO,隨著技術逐漸進步,在未來,或許我們也能打造出像C-3PO一樣的機器,能辨識處理各地的語言,讓不同語言之間的交流再也沒有障礙。

(本文為教育部「人工智慧技術及應用人才培育計畫」成果內容)

views