NLP 簡介


最近剛看完 stanford 大學的線上課程 CS224N: Natural Language Processing with Deep Learning | Winter 2019,對自然語言處理有更多了解,趁著記憶猶新在這裡做點筆記,剛好有機會也整理成 Blogathon 的題材與大家分享。

NLP 是什麼?

這系列的文章都會跟 NLP 有關,所以我們先來聊聊 NLP 到底是什麼吧。 NLP 為 Nature Language Processing 的簡寫,翻成中文就是自然語言處理

自然語言處理(英語:Natural Language Processing,縮寫作 NLP)是人工智慧和語言學領域的分支學科。此領域探討如何處理及運用自然語言;自然語言處理包括多方面和步驟,基本有認知、理解、生成等部分。 - 維基百科

上面是維基百科中對 NLP 的定義,聽起來很複雜,不過廣泛的來說,只要是和人類語言有關的任務,都可以說是 NLP 的範疇。而和人類語言相關的任務,從電腦看懂文字、理解內容、到生成文字、延伸至其他應用,每個層面都有難易不同的多樣任務,這部分會在等等的段落舉更多例子。

NLP 和 CV (computer vision) 都屬於電腦科學的範疇,圖片、影片之餘電腦視覺,就有如人類的語言、文字之於自然語言處理。而近代人工智慧機器學習與深度學習技術的崛起,打破了包括 NLP 、 CV 等諸多領域許多傳統方法的限制在許多任務上都達到了過去無法想像的成就,這系列文章也會盡力跟大家分享近幾年來在 NLP 領域的快速演進。

NLP 包括了哪些任務?

這邊條列幾個常見的研究題目給大家當做例子

簡單
在機器學習出現前,用傳統方法就可以做得不錯的任務

  • 關鍵字搜尋 (Keyword Search)
    給定關鍵字,搜尋含有關鍵字的文章或段落。

  • 拼字檢查 (Spell Checking)
    檢查單字的拼法有沒有錯誤。

複雜

  • 問答系統 (Question Answering)
    目前資料庫多為,給定一個文章的段落與相關問題,讓機器自己學習回答這個問題的答案,答案多半能在段落中找到關鍵字(非開放式問題),但也有無解的問題存在。

  • 翻譯 (Machine Translation)
    讓機器自動化的翻譯,例如把英文文章翻譯成中文。這在過去多為 rule-based 方式,近年機器學習發展成功後,翻譯工具 (如 google) 漸漸換成以 ML-based 的方法。

  • 聊天機器人 (ChatBot)
    這個應該很多人生活都有碰過,例如 LINE 上的「真的假的」闢謠聊天機器人(趁機推薦)。現在許多聊天機器人都只能處理特定任務(不管背後是腳本形式或是有導入 ML 技術),和人類閒聊的聊天機器人仍面臨許多技術上的挑戰。

應用
需要結合其他領域才能解的問題

  • 圖像問答 (Visual Question Answering)
    給一張圖片與和圖片有關的問題,讓機器試著去回答

  • 語音識別 (Speech Recognition)
    給機器聽一段音訊,讓他自動把音訊轉換成文字 (Speech to Text)。也有與之相反的任務 Text to Speech

以上僅僅列出部分 NLP 的任務,每個任務都可以發展出一門研究題目。而後面的文章並不會著墨於特定的某個任務,而是會著重在模型的介紹與關鍵技術的突破,多數時候我們並不會為了建立模型而發展某個模型,而是在某個任務卡關後發展出了一套模型,而後發現他在其他任務也派得上用場,這時候技術又突破了一次!

小結

以上就是今天的 NLP 簡介,包括了 NLP 的概念與相關的任務。

這系列文章將會以模型背後的「觀念」與「數學原理」為主,實作的部分不會著墨太多,如果想快速了解 NLP 近年的演進,並且找到更多資源深入學習,那這系列將很適合你,如果是想實作各種任務的朋友,我只能說抱歉了,這系列難以滿足你的期待。

最後,我也還在學習 NLP 與 ML 的路上,如果有哪裡說明得不夠正確或有想討論的地方,非常歡迎各位朋友與前輩分享建議,也希望這系列貼文或多或少能幫助大家更了解一點 NLP ,我們明天見!

#NLP #ML #Nature Language Processing #machine learning #自然語言處理 #機器學習 #深度學習





自然語言處理是電腦科學一門古老的學問,而在機器學習技術的發展下,這個領域演進的十分迅速,幾乎每年都出現更強大的模型。 希望能由這系列貼文帶大家瀏覽這幾年(未必侷限於七年啦)推出的各種模型與技術,也盡力去了解背後的數學原理。

留言討論