序
在我們生活的這個數位資訊時代,資料量持續呈現指數型成長;這種前所未有的成長速度,早已超出我們閱讀的速度。其中大多數的資料(如電子郵件、社群媒體、電話對談與網路文章)都和語言(包括文字或口語的形式)有關。自然語言處理(NLP)可有效善用這些資料,幫助人們開展業務或處理日常的工作。目前 NLP
已徹底改變人們運用資料的方式,進一步改善個人的工作與生活,未來這種情況勢必還會持續下去。
NLP最常見的應用範例之一,就是像Apple的Siri、Google助理、亞馬遜的Alexa這類的「虛擬助理(VA, Virtual
Assistant)」。每當你向虛擬助理詢問「瑞士最便宜的飯店價格」時,就會觸發一系列複雜的NLP任務。首先,你的虛擬助理必須瞭解(解析出)所提出的請求(例如它必須瞭解所要找的是飯店價格,而不是開放遛狗的公園)。虛擬助理還要做出另一個判斷,那就是理解「便宜」是什麼意思?接著虛擬助理必須針對瑞士的城市做出排序(可以根據你過去旅行的歷史做為依據)。然後,虛擬助理可以到Booking.com與Agoda.com等網站抓取瑞士各飯店的資料,並分析每家飯店的價格與相關評價,再對其進行排名。正如你所見,你在幾秒內所得到的回應,其實是一系列非常複雜的
NLP 任務所得出的結果。
究竟是什麼技術,讓我們每天所提出的各式各樣 NLP 任務,能夠獲得如此準確的回應?其中最根本的要素,就是「深度學習(deep
learning)演算法」。深度學習演算法本質上就是一些複雜的神經網路,它可以找出原始資料與我們所需要的輸出兩者之間的對應關係,而不必針對特定任務進行繁複的特徵工程相關工作。這也就表示,如果你提供某人對於某飯店的評價看法,演算法就可以直接告訴你「這個人對於這家飯店的看法有多麼正面?」。此外,深度學習在各式各樣的 NLP
任務(例如語音辨識和機器翻譯)中,也已經達到甚至超越人類的表現了。
只要閱讀本書,你就可以學會如何運用深度學習,解決許多有趣的 NLP 問題。如果你想成為改變世界的影響者,好好研究 NLP 就是件很重要的事。包括學習單詞的語義、生成全新的文字內容,或是觀察成對的雙語句子以進行不同語言間的翻譯,這些全都屬於 NLP 任務。本書在所有技術性章節中都附有練習,其中也包含給讀者們實作出各種系統時所需的逐步指導。本書所有練習範例都採用 Python 搭配
TensorFlow;TensorFlow 是一種相當流行的分散式計算函式庫,非常適合用來實作出各種深度神經網路。
本書的目標讀者
所有想要善用語言資料改造世界的有志初學者,都是本書的目標讀者。本書會提供穩固而扎實的實務基礎,讓你有能力解決各種 NLP 任務。我們會在書中涵蓋 NLP 的各個面向,除了理論基礎之外,也會聚焦於實務方面的實作。在解決各種 NLP
任務時,如果能在實務方面擁有良好的基礎,一定有助於你順利過渡到更高級的理論架構。此外,若能在實務方面有更扎實的理解,也就可以讓你更充分利用特定領域的知識,進而對演算法做出更好的調整。