官术网_书友最值得收藏!

前   言

現在,使用Python和開源工具可以非常方便地進行文本分析,因此在這個文本大數據時代,每個開發人員都需要了解如何分析文本。

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

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

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

本書的目標讀者

希望讀者對Python有一定的了解,如果沒有也沒關系,本書會介紹一些Python的基礎知識。此外,了解基本的統計學方法也大有裨益。鑒于本書主要內容涉及自然語言處理,所以了解基本語言學的知識還是非常有幫助的。

本書主要內容

第1章,什么是文本分析。當今技術的發展使得開發人員可以方便地從互聯網獲取海量的文本數據,利用強大、免費的開源工具來進行機器學習、計算語言學方面的研究。這個領域正在以前所未有的速度發展。本章將詳細討論什么是文本分析,以及學習和理解文本分析的動機。

第2章,Python文本分析技巧。第1章中提到,本書將把Python作為工具,因為它是一種易用且功能強大的編程語言。本章將介紹用于文本分析的Python基礎知識。為什么Python基礎知識很重要?雖然我們希望讀者具備一定的Python和高中數學知識,但部分讀者也許已經很久沒有編寫Python代碼了。還有一部分Python開發人員的經驗是基于Django之類的Web框架之上,這與文本分析和字符串處理所需要的技能有所不同。

第3章,spaCy語言模型。雖然第2章已經介紹了文本分析的概念,但沒有具體討論構建文本分析流程的任何技術細節。本章將介紹spaCy的語言模型。這將是文本分析的第一步,也是NLP流程中的第一個組件。此外,本章還將介紹spaCy開源庫,以及如何使用spaCy來幫助開發人員完成文本分析任務,并討論一些更強大的功能,如POS標記和NER。本章將用一個實例來說明如何使用spaCy快速有效地預處理數據。

第4章,Gensim:文本向量化、向量變換和n-grams的工具。雖然前面的章節已經帶領讀者處理過原始文本數據,但是任何機器學習或信息檢索相關算法都不會把原始文本作為輸入格式。所以本章將使用一種稱為向量的數據結構來幫助算法模型理解文本,并選擇Gensim和scikit-learn作為轉換工具。在開始向量化文本的同時,還會引入預處理技術,比如bi-grams、tri-grams和n-grams。通過詞頻可以過濾掉文檔中不常見的單詞。

第5章,詞性標注及其應用。第1章和第2章介紹了文本分析和Python,第3章和第4章幫助讀者為更高級的文本分析設置代碼。本章將討論第一種高級NLP技術:詞性標注(POS-tagging)。我們將研究什么是詞性,如何識別單詞的詞性,以及怎樣使用詞性標簽。

第6章,NER標注及其應用。上一章介紹了如何使用spaCy來完成詞性標注。本章將探討另一個有趣的用法:NER標注。本章將從語言和文本分析的角度來討論什么是NER標注,并詳細說明它的使用示例,以及如何用spaCy訓練自己的NER標注。

第7章,依存分析。第5章和第6章中介紹了spaCy的NLP如何執行各種復雜的計算語言學算法,如POS標注和NER標注。不過,這并不是所有的spaCy包,本章將探討依存分析的強大功能,以及如何在各種上下文和應用場景中使用它。在繼續使用spaCY之前,我們將研究依存分析的理論基礎,并訓練一個依存分析模型。

第8章,主題模型。到目前為止,我們學習了一些計算語言學算法和spaCy方面的知識,并了解了如何使用這些計算語言學算法來標記數據,以及理解句子結構。雖然利用這些算法可以捕獲文本的細節,但仍然缺乏對數據的全面了解。在每個語料庫中,哪些詞比其他詞出現得更頻繁?是否可以對數據進行分組或找到潛在主題?本章將嘗試解答這些問題。

第9章,高級主題建模。在前一章中,我們見識了主題模型的威力,并理解和探索了數據的直觀方式。本章將進一步探討這些主題模型的實用性,以及如何創建一個更高效的主題模型,更好地封裝可能出現在語料庫中的主題。主題建模是理解語料庫文檔的一種方式,它為開發人員分析文檔提供了更多的發揮空間。

第10章,文本聚類和文本分類。前一章介紹了主題模型,以及它組織和理解文檔及其子結構的過程。本章將繼續討論新的文本機器學習算法,以及兩個特定的任務—— 文本聚類和文本分類,探討這兩個算法的直觀推理,以及如何使用流行的Python機器學習庫scikit-learn來建模。

第11章,查詢詞相似度計算和文本摘要。一旦文本可以向量化,就可以計算文本文檔之間的相似性或距離。這正是本章要介紹的內容。現在業界存在多種不同的向量表示技術,從標準的單詞包表示、TF-IDF到文本文檔的主題模型表示。本章還將介紹關于如何用Gensim實現文本摘要和關鍵詞提取的知識。

第12章,Word2Vec、Doc2Vec和Gensim。前面的章節曾經多次討論向量化這一課題——如何理解向量化,以及如何使用數學形式表示文本數據。我們所使用的所有機器學習方法的基礎都依賴于這些向量表示。本章將更進一步,使用機器學習技術來生成單詞的向量化表示,從而更好地封裝單詞的語義信息。這種技術俗稱為詞嵌入,Word2Vec和Doc2Vec是該技術的兩種主流變體。

第13章,使用深度學習處理文本。到目前為止,我們已經探索了機器學習在各種上下文中的應用,比如主題建模、聚類、分類、文本摘要,甚至POS標注和NER標注都離不開機器學習。本章將介紹機器學習的前沿技術之一:深度學習。深度學習是機器學習的一個分支。該技術受生物結構的啟發,通過神經網絡來生成算法和結構。文本生成、文本分類和單詞嵌入領域都是深度學習可結合的領域。本章將學習深度學習的基礎知識,以及一個文本深度學習模型實現的例子。

第14章,使用Keras和spaCy進行深度學習。前一章介紹了文本的深度學習技術,并嘗試使用神經網絡生成文本。本章將更深入地研究文本的深度學習,特別是如何建立一個能夠進行文本分類的Keras模型,以及如何將深度學習融入到spaCy的流程中。

第15章,情感分析與聊天機器人。到目前為止,我們已經掌握了開始文本分析項目所需的基本技能,可以嘗試更為復雜的項目。其中,有兩個文本分析場景在之前沒有涉及,但其中的很多概念都很常見:情緒分析和聊天機器人。本章將作為一個導引,指導讀者獨立完成上述兩個應用。本章不提供構建聊天機器人或情感分析的完整代碼,而是把重點放在各種相關技術原理的介紹上。

主站蜘蛛池模板: 深泽县| 石首市| 武陟县| 玉田县| 白银市| 和硕县| 达日县| 治多县| 新余市| 讷河市| 镇沅| 都江堰市| 贞丰县| 穆棱市| 隆德县| 宁化县| 武义县| 大荔县| 靖江市| 兴义市| 广西| 小金县| 建德市| 太湖县| 大化| 涡阳县| 田阳县| 安达市| 武冈市| 萨嘎县| 浑源县| 新兴县| 大洼县| 松江区| 福安市| 桂阳县| 汝城县| 凤山县| 铜山县| 望江县| 藁城市|