比起打客服電話,我們現在可能更喜歡用Line、Messager等通訊軟體詢問客服部門,一來我們不需要等電話接通,二來對話期間還能做其他事情,我們甚至能做完其他事情後再繼續對話,而客服人員還能夠一對多服務。不過你能想像嗎?未來這些網路客服的背後,很可能都是「看不見的機器人」;台灣大學電機工程學系教授黃鐘揚特別解釋,現在的機器人不一定是人形,也已經不一定有那麼一部機器。
雞同鴨講的對話
目前,能夠與人聊天互動、提供各種服務的軟體中,Siri最為人所熟知。許多人就以調戲Siri為樂,我們說一句話,Siri的回話可能令人啼笑皆非。黃鐘揚舉例,如果我們問「我死後,我的受益人有什麼權益?」它會擔心你自殺;若是問「我上個月出車禍,現在還來得及申請理賠嗎?」它會問你要找拖吊場、急診室、救護車,還是急救中心?如果我們的口音不標準,它會回答聽不懂。
這種牛頭不對馬嘴的機器人,雖然增添了許多樂趣,但如果用在客服部門,可能就幫倒忙了。想要變得實用,首先還是要能夠理解人類所說的話,才有可能做出相對應的服務。黃鐘揚指出,這當中最重要的技術就是「自然語意理解引擎」。
自然語意理解引擎
如何讓機器理解人類語言呢?一開始想到的方法可能是用關鍵字去窮舉,但是排列組合太多,不可能窮舉所有的規則,而且規則和規則之間可能還有衝突,所以此法不佳。黃鐘揚說,「現在技術大都用類神經網路,也就是深度學習」來處理。
所謂的類神經網路,是模擬大腦神經元運作方式所建立的數學模型。而自然語言理解引擎就是把上億句句子丟給一個類神經網路去學習,以非監督式學習的方式讓機器自行了解文字之間的關係,建立一個數學模型。有了這個數學模型,就算不知道文字的真正意義,也知道文字間是否有高度相關,例如:國王和皇后之間的相關性。把所有字、詞、句都轉成數學的高維向量,當我們問客服問題時,就用向量相似度去評估該問題在向量空間中最接近哪個問題。
如果事先把各類問題分類,每一個類別就會在這個很大的語意空間裡形成許多子空間,就可以在子空間裡尋找最相似、最接近的意思,由於不用在龐大的語意空間裡比對,準確率就會提高很多。也就是說,引擎知道字、詞、句之間的關係後,針對特定範圍,就可以用少量的訓練資料,達成高準確率。這種引擎具有舉一反三的能力,就連火星文也能懂。
比如我們問:「窩ㄉ森日優惠要ㄑ哪裡領?」(我的生日優惠要去哪裡領?)引擎會知道「窩」跟「我」、「ㄉ」跟「的」高度相關,森日優惠則最接近生日券,因此最後客服機器人就知道要回答與生日券相關的問題。
從弱AI到強AI
然而,黃鐘揚說:「嚴格來說,這些還只是弱AI,未來還有很多挑戰。」舉例來說,第二件五折,機器人得知道要先買第一件,第二件才能五折,機器人沒有這種常識和推論能力。另外,有些對話必須考慮前後文才能正確分辨字義,前後文的狀態如何儲存、使用,也都是一大難題。因此,想要讓機器人像人類一樣正常聊天,還是有很長的路要走。