◆ 人類的語言中充滿歧義,簡單如「倒了杯水」,也有「把水倒進杯子」和「把杯子裏的水倒掉」兩個相反的意思,AI要學會從上文下理來判斷指的是哪一個意思。 資料圖片

上一期我們曾經探討過智能手機的人工智能(AI)助理,例如Apple Siri、Google Assistant和Amazon Alexa等的語音輸入功能,當中的前半部分——「語音轉文本」,即把語音輸入轉錄成文本的AI技術的運作原理。今天,我們將探討當中的後半部分——「自然語言理解」,即AI助理根據文本內容來理解和執行收到的指令,例如進行搜尋、打電話或控制家中的電器等AI技術的運作原理,這正正是考驗AI的閱讀能力。

自然語言處理(Natural Language Processing,簡稱NLP)是AI的一個分支,可以幫助電腦理解、詮譯和運用文本或語音形式的人類語言。具備NLP技術的電腦,可編程成能夠識別書面和語音文字。NLP無處不在,並已被整合至許多現實生活中的應用。但要真正與人們溝通,電腦就需要理解運用語言的語境,即我們所說的「上文下理」。

用不同方法詮譯語言

為此,NLP包含一個子領域——自然語言理解(Natural Language Understanding,簡稱NLU),讓我們可以使用不同的方法詮譯語言,例如情感、詞類、主題分類或摘要。輸入的可以是詞語、句子或段落,而輸出的則是有意義的標籤(取決於使用方式)。有了NLU,人們便能建構具備真正閱讀理解能力的機器,讓我們可以運用人類自然語言來與機器交流,而機器也能恰當地回應。

NLP能詮譯人類語言,主要的方法是透過使用已標籤數據來訓練模型,然後應用訓練後的模型來測試新的數據。NLP更具備跨學科性質,涵蓋語言學(語法、詞庫)、數學(統計、優化)、電腦科學(搜索策略)和工程學(優化編程)等,因此我們可以用NLP來完成許多任務。

然而,人類語言極為複雜和多元,世界上數百種語言和方言,都有自己獨特的語法和詞彙。試考慮這兩句短句的含義:「小陳剛剛倒了杯水。」和「香港人口多。」

在上述兩句短句的示例裏,短句一可以詮譯成:「小陳剛剛把水【倒進】杯子裏。」或「小陳剛剛把杯子裏的水【倒掉】了。」而短句二則可以詮譯成:「香港人【口多】。」或「香港【人口】多。」

努力以大數據克服歧義

以上示例簡單示範了人類語言當中的歧義(ambiguity),而這正正是NLP應用的主要挑戰。歧義可以發生在詞語層面、句子層面和語境層面。雖然現今的NLP技術已經相當成熟,但AI開發人員仍在努力使用大數據、機器學習和深度學習來克服歧義的挑戰。

除此之外,儘管NLP技術能為人類社會帶來裨益,但我們在使用NLP應用時,也應進行倫理考量,例如NLP在處理敏感資料(例如電子健康紀錄)時的誤差,可能會導致不理想的後果;由NLP生成的虛構新聞,有機會對社會造成傷害;而在未經用戶同意的情況下使用社交媒體貼文,侵犯了他們的個人私隱等等。

我們必須謹記,AI技術能為社會帶來裨益,也能造成傷害。

◆ 中大賽馬會「智」為未來計劃 http://cuhkjc-aiforfuture.hk/

由香港賽馬會慈善信託基金捐助,香港中文大學工程學院及教育學院聯合主辦,旨在透過建構可持續的AI教育生態系統將AI帶入主流教育。通過獨有且內容全面的AI課程、創新AI學習套件、建立教師網絡並提供AI教學增值,計劃將為香港的科技教育寫下新一頁。