自然語言處理有哪些可以推薦的書?

2020-11-06 程式設計師書屋

研究人類語言的過程稱為NLP。深入研究語言的人稱為語言學家,而「計算語言學家」這個專有名詞適用於應用計算研究語言處理的人。從本質上講,計算語言學家是深入了解語言的計算機科學家,計算語言學家可以運用計算技能,對語言的不同方面進行建模。計算語言學家解決的是語言理論方面的問題,NLP只不過是計算語言學的應用。

NLP更多探討的是應用計算機,處理不同語言的細微差別,以及使用NLP技術構建現實世界的應用。在實際情景下,NLP類似於教孩子學語言。一些最常見的任務(如理解單詞和句子,形成在語法和結構上正確的句子)對人類而言是很自然。在NLP領域,把這樣的一些任務轉化為標記解析(tokenization)、組塊(chunking)、詞性標註(part of speech tagging)、解析(parsing)、機器翻譯(machine translation)、語音識別(speech recognition),這些任務中的大部分依然是計算機所面臨的最嚴峻的挑戰。

為什麼要學習NLP

本節從Gartner的技術成熟度曲線開始討論,從這條曲線上,你可以清楚地看到NLP處在技術成熟度曲線的頂部。目前,NLP是行業所需的稀有技能之一。在大數據到來之後,NLP面臨的主要的挑戰是,NLP需要大量不但精通結構化數據而且擅長於處理半結構化或非結構化數據的技術人員。我們正在生成拍字節量級的網絡博客、推特信息、臉書(Facebook)的推送信息、聊天記錄、電子郵件和評論。一些公司正在收集所有這些不同種類的數據,以便更好地為客戶定位,並從中得到有意義的見解。為了處理這些非結構化數據源,我們需要了解NLP的技術人員。

我們身處資訊時代;我們甚至不能想像生活中沒有谷歌。我們使用Siri來處理大多數基本的語音功能。我們使用垃圾郵件過濾器過濾垃圾郵件。在Word文檔中,我們需要拼寫檢查器。在我們周圍,存在許多NLP在現實世界中應用的例子。

(圖片來自gartner網站)

下面也提供一些你能夠使用但是沒有意識它們是建立在NLP上的令人讚嘆的NLP應用的示例。

  • 拼寫校正(微軟的Word/任何其他編輯器)
  • 搜尋引擎(谷歌、必應、雅虎和WolframAlpha)
  • 語音引擎(Siri和谷歌語音)
  • 垃圾郵件分類(所有的電子郵件服務)
  • 新聞推送(谷歌和雅虎等)
  • 機器翻譯(谷歌翻譯等)
  • IBM的沃森

構建這些應用需要一種非常特殊的技能集,你需要對語言非常了解,並具有可以有效處理語言的工具。因此,讓NLP成為最具優勢的領域之一的原因不是廣告宣傳,而是可以使用NLP創建的這種應用使得NLP成為必備的最獨特技能之一。

為了實現上述的一些應用,以及其他基本的NLP預處理,我們有很多可用的開源工具。在這些工具中,有一些是某些組織為建立自己的NLP應用而開發的,而有一些是開源的。這裡是一張可用的NLP工具列表。

  • GATE
  • Mallet
  • Open NLP
  • UIMA
  • 斯坦福工具包
  • Genism
  • 自然語言工具包(NLTK)


自然語言處理書單

Python自然語言處理

[美] Steven,Bird Ewan,Klein Edward,Loper 著,陳濤,張旭,崔楊,劉海平 譯

這是一本關於自然語言處理的書。所謂「自然語言」,是指人們日常交流使用的語言,如英語、印地語、葡萄牙語等。相對於程式語言和數學符號這樣的人工語言,自然語言隨著一代代的傳遞而不斷演化,因而很難用明確的規則來確定。從廣義上講,「自然語言處理」(Natural Language Processing,NLP)包含所有用計算機對自然語言進行的操作,從最簡單的通過計數詞彙出現的頻率來比較不同的寫作風格,到最複雜的完全「理解」人所說的話,或至少達到能對人的話語作出有效反應的程度。

這本書提供自然語言處理領域的入門指南。它可以用來自學,也可以作為自然語言處理或計算語言學課程的教科書,或是作為人工智慧、文本挖掘、語料庫語言學課程的補充讀物。本書實用性強,包括上百個實例和分級練習。

本書基於Python程式語言及名為自然語言工具包(Natural Language Toolkit, NLTK)的開源庫。NLTK包含大量的軟體、數據和文檔,所有這些都可以從http://www.nltk.org/上免費下載。NLTK的發行版本支持Windows、Macintosh和UNIX平臺。強烈建議你下載Python和NLTk,與我們一起嘗試書中的例子和練習。

自然語言處理實戰 利用Python理解、分析和生成文本

[美] 霍布森·萊恩,科爾·霍華德,漢納斯·馬克斯·哈普克 著,史亮,魯驍,唐可欣,王斌 譯

本書是介紹自然語言處理(NLP)和深度學習的實戰書。NLP已成為深度學習的核心應用領域,而深度學習是NLP研究和應用中的必要工具。本書分為3部分:第一部分介紹NLP基礎,包括分詞、TF-IDF向量化以及從詞頻向量到語義向量的轉換;第二部分講述深度學習,包含神經網絡、詞向量、卷積神經網絡(CNN)、循環神經網絡(RNN)、長短期記憶(LSTM)網絡、序列到序列建模和注意力機制等基本的深度學習模型和方法;第三部分介紹實戰方面的內容,包括信息提取、問答系統、人機對話等真實世界系統的模型構建、性能挑戰以及應對方法。

本書面向中高級Python開發人員,兼具基礎理論與編程實戰,是現代NLP領域從業者的實用參考書。

自然語言處理與計算語言學

格夫·斯裡尼瓦薩-德西坎(Bhargav Srinivasa-Desikan) 著,何煒 譯

本書介紹了如何應用自然語言處理和計算語言學算法,對現有數據進行推理,並得到一些有趣的分析結果。這些算法基於目前主流的統計機器學習和人工智慧技術,實現工具唾手可得,比如Python社區的Gensim和spaCy之類的工具。

本書從學習數據清洗開始,學習如何執行計算語言學算法,然後使用真實的語言和文本數據、使用Python來探索NLP和深度學習的更高級課題。我們還會學習使用開源工具來標記、解析和建模文本。讀者將掌握優秀框架的實戰知識,以及怎樣為主題模型選擇類似Gensim的工具,怎樣通過Keras進行深度學習。

本書覆蓋理論知識和實例,方便讀者在自己遇到的場景中應用自然語言處理和計算語言學算法。我們將發現可用於執行NLP的Python工具的豐富的生態系統,帶領讀者進入現代文本分析的精彩世界。

Python和NLTK自然語言處理

[印度] 尼天·哈登尼亞(Nitin Hardeniya),雅各布·帕金斯(Jacob Perkins),迪蒂·喬普拉(Deepti Chopra),尼什·斯喬希 等 著,林賜 譯

模塊1討論文本挖掘/NLP任務中所需的所有預處理步驟。該模塊詳細討論標記化、詞幹提取、停用詞刪除和其他文本清理過程,以及如何在NLTK中輕鬆實現這些操作。

模塊2解釋如何使用語料庫讀取器和創建自定義語料庫。它還介紹如何使用NLTK附帶的一些語料庫。它涵蓋組塊過程(也稱為部分分析),組塊過程可以識別句子中的短語和命名實體。它還解釋如何訓練自己的自定義組塊器並創建特定的命名實體識別器。

模塊3討論如何計算單詞頻率和實現各種語言建模技術。它還討論淺層語義分析(即NER)的概念和應用及使用Wordnet的TSD。

模塊3有助於你理解和應用信息檢索與文本摘要的概念。

精通Python自然語言處理

Deepti,Chopra,Nisheeth,Joshi,Iti ... 著,王威 譯

本書詳細介紹如何使用Python執行各種自然語言處理(NLP)任務,並幫助讀者掌握利用Python設計和構建基於NLP的應用的實踐。本書引導讀者應用機器學習工具來開發各種各樣的模型。對於訓練數據的創建和主要NLP應用的實現,例如命名實體識別、問答系統、語篇分析、詞義消歧、信息檢索、情感分析、文本摘要以及指代消解等,本書都進行了清晰的介紹。本書有助於讀者使用NLTK創建NLP項目並成為相關領域的專家。
通過閱讀本書,你將能夠:
● 實現字符串匹配算法以及標準化技術;
● 實現統計語言建模技術;
● 深刻理解詞幹提取器、詞形還原器、形態分析器以及形態生成器的開發;
● 開發搜尋引擎並實現詞性標註和統計建模(包含n-gram方法)等相關概念;
● 熟悉諸如樹型庫建設、CFG建設、CYK以及Earley線圖解析算法等相關概念;
● 開發基於NER的系統並理解和應用情感分析的相關概念;
● 理解並實現信息檢索和文本摘要等相關概念;
● 開發語篇分析系統以及基於指代消解的系統。

相關焦點

  • 推薦給中高級Python開發人員的自然語言處理書
    我們現在只需在搜索欄中輸入幾個字符,就可以檢索出完成任務所需的準確信息。搜索提供的前幾個自動補全選項通常非常合適,以至於讓我們感覺是有一個人在幫助我們進行搜索。到底是什麼推動了NLP的發展?是對不斷擴大的非結構化Web數據有了新的認識嗎?是處理能力的提高跟上了研究人員的思路嗎?
  • 劉知遠老師7月新書-《自然語言處理表示學習》免費書分享
    語義表示是自然語言處理的基礎,我們需要將原始文本數據中的有用信息轉換為計算機能夠理解的語義表示,才能實現各種自然語言處理應用。以深度學習為代表的表示學習技術,能夠靈活地建立對大規模文本、音頻、圖像、視頻等無結構數據的語義表示,顯著提升語音識別、圖像處理和自然語言處理的性能,近年來引發了人工智慧的新浪潮。本書是第一本完整介紹自然語言處理表示學習技術的著作。書中全面介紹了表示學習技術在自然語言處理領域的最新進展,對相關理論、方法和應用進行了深入介紹,並展望了未來的重要研究方向。
  • 自然語言處理及相關的機器學習技術
    此領域探討如何處理及運用自然語言,自然語言處理包括多方面和步驟,基本有認知、理解、生成等部分。自然語言認知和理解是讓電腦把輸入的語言變成有意思的符號和關係,然後根據目的再處理。自然語言生成系統則是把計算機數據轉化為自然語言,從而可以代替人類做一些文書類的工作,例如諮詢、售後、海量數據處理以及公文閱讀與處理等。
  • 自然語言處理的經驗主義和理性主義
    以下內容來自馮志偉先生為中科院研究員宗慶成所著《統計自然語言處理》一書作的序。美國計算機科學家馬納瑞斯(Bill Manaris)在1999年出版的《計算機進展》(Advanced in Computers)第47卷的《從人機互動的角度看自然語言處理》一文中給自然語言處理提出的如下定義:「自然語言處理可以定義為研究在人與人交際中以及在人與計算機交際中的語言問題的一門學科。
  • 自然語言處理NLP大有可為
    語言智能是人工智慧皇冠上的明珠,如果語言智能能實現突破,跟它同屬認知智能的知識和推理就會得到長足的發展,甚至能推動整個人工智慧體系,有更多的場景可以落地。自然語言的核心是NLP技術,包括基礎的詞彙、短語、句子、篇章的表示,也包括更為複雜的機器翻譯、提問和回答、信息檢索、信息抽取、聊天和對話、知識工程、語言生成、推薦系統。
  • NLP市場規模超百億,自然語言處理專業大熱,英專學生也可以申請
    提到自然語言處理,非計算機專業的同學可能會覺得有些陌生,但自然語言處理的應用場景你一定陌生,比如聊天機器人(蘋果Siri, 亞馬遜Echo),機器翻譯(谷歌翻譯),語音識別(科大訊飛),電商平臺基於歷史搜索和瀏覽記錄推薦你可能感興趣的產品(淘寶,京東,考拉),知乎或其他問答平臺會分析回答的質量,決定是否將某些答案摺疊,甚至我們電腦或者手機打字用的輸入法。
  • 自然語言處理必讀:5本平衡理論與實踐的書籍
    即使是在找一本關於某個主題的書,也會很快發現這樣的書太多了,無法快速判斷哪一本最適合自己。為了幫助你解決問題,我幫你選擇5本關於自然語言處理的書,不像其他的書單,除了第一本之外,這些書都不是免費的,但事實證明它們是值得投資的,希望能對大家有所幫助。
  • 自然語言處理的應用前景
    除非人們自己打開應用程式,否則自然語言處理程序將在後臺運行,等待短語的出現。 自然語言處理(NLP)對人們的利大於弊。人們可以想像一下沒有谷歌搜索或者拼寫檢查程序的生活。它使用自然語言處理(NLP)將輸入的單詞與字典中的單詞進行比較。通過比較這兩個數據集,拼寫檢查程序可以找出問題並提供建議。
  • 自然語言處理 NLP 發展簡史
    以此為目標,喬姆斯基創建了一種語法,稱為「階段結構語法」,該語法能夠有條不紊地將自然語言句子翻譯為計算機可以使用的格式。1958 年夏天,同樣來自麻省理工學院的人工智慧研究先驅約翰·麥卡錫(John McCarthy)參與 IBM 資訊研究部的工作,研究符號運算及應用需求。
  • 人工智慧自然語言處理技術哪家靠譜?珍島有話說
    作為未來科技發展的尖端領域,人工智慧在技術應用方面有很多細分領域,比如深度學習、計算機視覺、智慧機器人、自然語言處理、實時語音翻譯、視覺內容自動識別、推薦引擎等。而其中的自然語言處理,是人工智慧領域中的一個重要方向,它推動著語言智能的持續發展和突破,並越來越多地應用於各個行業。
  • 清華大學劉知遠:知識指導的自然語言處理
    ,闡釋了語言知識和世界知識對於自然語言處理的重要價值。自然語言處理(Natural Language Processing, NLP),旨在讓計算機掌握和運用人類語言。語言作為一個符號系統,包含多種不同粒度的語言單元。譬如中文的漢字、詞、短語、句子、文檔、直到文檔互聯構成的全球資訊網,由下而上,粒度不斷加粗。而自然語言處理的很多任務,都涉及對不同層級的語言單元的語義相關度計算。例如信息檢索就是給定一個query或者短語,找出哪些文檔和該短語的語義最相關。
  • 原來自然語言處理有這麼多的應用場景
    自然語言處理(Natural Language Processing,NLP)屬於人工智慧的一個子領域,是指用計算機對自然語言的形、音、義等信息進行處理,即對字、詞、句、篇章的輸入、輸出、識別、分析、理解、生成等的操作和加工。它對計算機和人類的交互方式有許多重要的影響。人類語言經過數千年的發展,已經成為一種微妙的交流形式,承載著豐富的信息,這些信息往往超越語言本身。
  • 自然語言處理(NLP)的十大應用
    要了解自然語言處理的功能及其對我們生活的影響,我們需要看一下其應用。因此,我匯總了自然語言處理的十大應用程式。因此,讓我們從自然語言處理的第一個應用開始。這些可能包含一些有關個人喜好的有用信息。因此,分析這種非結構化數據可以幫助產生有價值的見解。自然語言處理也在這裡搶救。
  • 騰訊自然語言處理實習面經
    原創 · 作者 | ink 個人簡介 | 985碩士,研究方向自然語言處理 師兄在騰訊,就讓師兄內推了一下騰訊自然語言處理的實習。在內推前,簡單把李航的統計學習方法,簡歷涉及的知識點都過了一遍,整理了一下,同時leetcode刷了大概100題。
  • 對比人工翻譯及自然語言處理翻譯,ai翻譯存在哪些優勢?
    舉個簡單的例子,微博上一般都是這樣子對話的:這種對話很好「產生」,因為人的語言翻譯一般很難做出來,從整體上描述了人對話過程,這樣就完成了對話的設計和「模仿」。當然,單這麼說也不嚴謹,可能有的翻譯有點細節交流上的錯誤。另外,比如歌詞有時也可以通過一些對比的對話(bingquery)自動生成,原因在於歌詞是「不可編碼」的。這麼理解,也就沒問題了。
  • 用於自然語言處理的12大開源工具
    用於自然語言處理的12大開源工具 自然語言處理(NLP),在過去幾年中已經有了長足的發展。本文為大家推薦一些開源NLP工具,幫助大家規劃基於語音或文本的應用程式。
  • 12種自然語言處理的開源工具
    這主要是因為我上次使用 C++ 編寫程序已經有很多年了,而我所工作的組織還沒有將 C++ 用於 NLP 或任何數據科學方面的工作。Python 工具自然語言工具包(NLTK)毋庸置疑,自然語言工具包(NLTK)是我調研過的所有工具中功能最完善的一個。它幾乎實現了自然語言處理中多數功能組件,比如分類、令牌化、詞幹化、標註、分詞和語義推理。
  • 人工智慧自然語言處理有了新突破!兩篇論文來自廣州
    近日,自然語言處理領域(NLP)頂級學術會議 ACL 2020 上,來自創新工場大灣區人工智慧研究院的兩篇論文入選。這兩篇論文均聚焦中文分詞領域,是深度學習引入知識後的有益嘗試,將該領域近年來廣泛使用的各數據集上的分數刷至新高,在工業中也有著可觀的應用前景。
  • 有關自然語言處理的深度學習知識有哪些?
    而有了偏置項之後,就不會有這個問題了。如果神經元需要學習輸出0,在這種情況下,神經元可以學會減小與偏置相關的權重,使點積保持在閾值以下即可。圖5-3用可視化方法對生物的大腦神經元的信號與深度學習人工神經元的信號進行了類比,如果想要做更深入的了解,可以思考一下你是如何使用生物神經元來閱讀本書並學習有關自然語言處理的深度學習知識的
  • NLP(自然語言處理)居然有這麼多應用場景?
    NLP(自然語言處理)居然有這麼多應用場景?機器翻譯、輿論分析、智能問答……NLP的應用場景你知道多少?如果你聽說過人工智慧,那麼對於自然語言處理技術一定也不陌生,自然語言處理技術屬於人工智慧的一個子領域,它對計算機和人類的交互方式產生了很重要的影響。