筆者不是 AI、ML 相關背景,Python 也不能算是多熟(主要還是寫 JavaScript),但因為待在有資料科學團隊的公司 -「優拓資訊」,近年來投入許多聊天機器人相關的項目,從合作、討論上學到了不少相關的概念,另外有在 Youtube 上看過一些李宏毅老師的課,由此簡單的了解過深度學習的一些原理。
雖然不是 AI 的專家,但我可以從第一線跟資料科學家合作的經驗上去分享我對於 AI 以及其商業應用的看法。
我們大部分時候,會把一個經典的聊天機器人分成三個部分:
這些部分可以使用 AI 的方法,或者非 AI 的 Rule-Based 的做法去建構。
而這些領域多年來都一直有很多 AI 相關的研究,而近年來深度學習的流行與成功也讓這些領域有了突破性的進展。因為對話管理還在比較早期的狀態,也比較少看到有人在對話管理上運用 AI 到商用的程度,所以接下來這篇會著重在探討「自然語言理解」與「自然語言生成」兩個部分。
自然語言理解(Natural-Language Understanding,簡稱 NLU),顧名思義就是讓模型去理解一句或甚至一段文字、一篇文章,這中間可以有很多的可能性。
其中之一,就像我們在做英文相關的考試跟檢定時一樣,AI 可以做克漏字或甚至去回答閱讀測驗,當然語言之間的翻譯也跟這有些關係。
但現在在聊天機器人自然語言理解領域中進到商用階段的,大多是關於一句話的意圖理解以及關鍵字的抽取。我舉個例子,講如我想做餐廳的預約,我可能會講:
我想預約下禮拜二晚上 8 點的位子 有 5 位
那這個時候,必須知道這句話是想要「訂位」,而相關的資料則是:
時間:下禮拜二晚上 8 點
人數:5 位
目前包括 Facebook、Google、Mircosoft 等公司都有推出類似的服務,而這也是我們公司的強項之一。
語言沒有正確答案,很多時候人也必須反問更多問題才能知道對方到底想講些什麼,不要害怕反問、不要害怕引導,這才是走上理解的正途。
我的同事有寫了一篇「Rule-based vs. NLU:聊天機器人如何聽懂人類的自然語言?」,比我這邊介紹的還要詳細,有想要概觀了解的人也歡迎看看。
自然語言生成(Natural-Language Generation,簡稱 NLG),簡單來說就是讓 AI 來產生文字、詞彙、句子更甚至文章。
生成式(Generative)的模型也是直到近年來才有很大的進展,有人在嘗試讓 AI 作曲、有人在嘗試讓 AI 寫文章、有人在嘗試讓 AI 剪預告片、有人在嘗試用 AI 上色,這些都是最近生成式模型大躍進的一個現象。
但這類應用也造成很大的輿論與擔憂,很多人會擔心會有無法分辨的造假以及影響一些關於創作的工作。
而在文字上的應用,目前最常見的應該就是就是講笑話、講幹話,聊天類型的應用。基本上這種類型的 AI 聊天機器人,未來一定能達到很高的高度,畢竟 AI 模型、電腦程式可以用很快的速度不斷的蒐集文字、文章並試圖去吸收看能學習到些什麼,但人的閱讀速度跟記憶能力很明顯沒辦法做到一樣的事。
但現在這件事並不如大家原本所想像的那麼理想,因為 AI 是會學壞的,例如:微軟曾經推出的人工智慧「Tay」。這樣的結果似乎不是那麼令人感到意外,如果一個小孩長大,過程沒有爸媽也沒有老師,有的只是不斷的在網路上看各種文章與對話,那最後會變成怎樣也是很令人擔憂的。我的其中一位同事就曾經用言情小書佔比有點高的訓練資料去訓練生成式 AI 模型,最後模型都會講出有點歪掉的句子。
前面說的聊天類型的應用雖然很多人會覺得有趣,但目前商業價值還是比較低,價值比較高的還是用資料產生文句的應用。其中一個我覺得很有用的應用是用於新聞稿產生,尤其是球賽上。例如下面這句是我隨便搜尋了一個去年球賽的文字報導:
已用了 90 球的伊瓦迪進入第七局投球,15 局曾敲出界外全壘打最後遭三振的孟西這次沒放過機會了,一棒敲出左外野再見轟,道奇歷經18局苦戰終於贏球,系列賽扳成 1:2。
一年有非常多場的球賽,甚至一天之內也有好幾場,球賽的敘述方式並不會差非常多,我猜負責也這類文字的記者寫了幾十篇也會寫到很厭煩,而且體育新聞很需要求快,各種因素下讓 AI 來解決這個是在再好不過。
至於在聊天機器人上當然也能利用這樣的技術增加文字的彈性與豐富度,但可惜的是這依然不是商業上有價值的部分。
語言的本質是為了有效溝通,而 Chat App 的目的是達成應用程式的功能性目標,為了有溝通或達成功能性目標,AI 可能會是一個有用的手段,應用 AI 的方式應該也以提升體驗為目標。