編輯點(diǎn)評(píng):大數(shù)據(jù)批量處理工具最新版
眾所周知,數(shù)據(jù)是當(dāng)今 IT 領(lǐng)域的一切。此外,這些數(shù)據(jù)每天都在大量增長(zhǎng)。早些時(shí)候,我們常談?wù)撉ё止?jié)和兆字節(jié),這款軟件可以幫助站長(zhǎng)SEO整理專用多功能,感興趣的就快來(lái)下載吧
15款使用最多的大數(shù)據(jù)分析工具
下面介紹了一些常用的開(kāi)源工具和很少有付費(fèi)的商業(yè)工具(提供了免費(fèi)試用版)。讓我們?cè)敿?xì)了解每款工具。
一、Apache Hadoop
Apache Hadoop 是一個(gè)分布式文件系統(tǒng)并且能處理大數(shù)據(jù)的軟件框架。它通過(guò) MapReduce 編程模型處理大數(shù)據(jù)數(shù)據(jù)集。Hadoop 是一個(gè)開(kāi)源框架,用 Java 編寫(xiě),它提供了跨平臺(tái)支持。
毫無(wú)疑問(wèn),這是最頂級(jí)的大數(shù)據(jù)工具。事實(shí)上,超過(guò)一半的財(cái)富 50 強(qiáng)公司在使用 Hadoop。這些公司包括Amazon Web services,Hortonworks,IBM,英特爾,微軟,F(xiàn)acebook等。
優(yōu)點(diǎn):
Hadoop 的核心優(yōu)勢(shì)是其 HDFS(Hadoop 分布式文件系統(tǒng)),它能夠在同一文件系統(tǒng)上保存所有類型的數(shù)據(jù) - 視頻、圖像、JSON、XML 和純文本。
非常適用于研發(fā)目的。
提供對(duì)數(shù)據(jù)的快速訪問(wèn)。
高度可伸縮
在計(jì)算機(jī)群集上提供的高度可用的服務(wù)
缺點(diǎn):
有時(shí),由于其 3 倍數(shù)據(jù)冗余,可能會(huì)面臨磁盤(pán)空間問(wèn)題。
I/O 操作本可以針對(duì)更好的性能進(jìn)行優(yōu)化。
定價(jià):此軟件在 Apache 許可證下可免費(fèi)使用。
二、CDH (Cloudera Distribution for Hadoop)
CDH著眼于大數(shù)據(jù)的企業(yè)級(jí)部署。它是完全開(kāi)源的,同時(shí)提供一個(gè)免費(fèi)的分布式平臺(tái),包含Apache Hadoop, Apache Spark, Apache Impala等等。使用CDH,你能夠收集、處理、管理、探索、建模和存儲(chǔ)無(wú)限量的數(shù)據(jù)。
優(yōu)點(diǎn):
完全分布式
Cloudera 管理器很好地管理 Hadoop 集群。
易于實(shí)施。
不太復(fù)雜的管理。
高安全性和治理性。
缺點(diǎn):
很少有復(fù)雜的 UI 功能,如 CM 服務(wù)上的圖表。
多種推薦的安裝方法聽(tīng)起來(lái)令人困惑。
但是,每個(gè)節(jié)點(diǎn)的許可價(jià)格非常昂貴。
定價(jià):CDH 是 Cloudera 的免費(fèi)軟件版本。但是,如果您有興趣了解 Hadoop 集群的成本,則每個(gè)節(jié)點(diǎn)的成本約為每 TB 1000 到 2000 美元。
三、Cassandra
Apache Cassandra 沒(méi)有成本和開(kāi)源分布式 NoSQL DBMS,用于管理分布在眾多領(lǐng)域服務(wù)器上的大量數(shù)據(jù),提供高可用性。
它使用 CQL(Cassandra Structure Language)與數(shù)據(jù)庫(kù)進(jìn)行交互。一些使用 Cassandra 的知名公司包括埃森哲、美國(guó)運(yùn)通、Facebook、通用電氣、霍尼韋爾、雅虎等。
優(yōu)點(diǎn):
沒(méi)有單點(diǎn)故障。
非?焖俚靥幚砗A繑(shù)據(jù)。
日志結(jié)構(gòu)化存儲(chǔ)。
自動(dòng)復(fù)制。
線性可擴(kuò)展性。
簡(jiǎn)單的環(huán)狀架構(gòu)。
缺點(diǎn):
在故障排除和維護(hù)方面需要一些額外的努力。
集群本來(lái)可以改進(jìn)。
行級(jí)鎖特性不存在。
定價(jià):此工具是免費(fèi)的。
大數(shù)據(jù)量文本數(shù)據(jù)如何處理問(wèn)題?
在日常的工作中我們會(huì)遇到大量的數(shù)據(jù)需要進(jìn)行分析挖掘,但是由于大量的數(shù)據(jù)和數(shù)據(jù)結(jié)構(gòu)往往很難準(zhǔn)確進(jìn)行分析挖掘,下面介紹幾種比好常用的方法,
當(dāng)然這些方法可能并不能完全覆蓋所有的問(wèn)題,但是這樣的一些方法也基本可以處理絕大多數(shù)遇到的問(wèn)題。
1.Bloom filter
適用范圍:可以用來(lái)實(shí)現(xiàn)數(shù)據(jù)字典,進(jìn)行數(shù)據(jù)的判重,或者集合求交集
基本原理及要點(diǎn):
對(duì) 于原理來(lái)說(shuō)很簡(jiǎn)單,位數(shù)組+k個(gè)獨(dú)立hash函數(shù)。將hash函數(shù)對(duì)應(yīng)的值的位數(shù)組置1,查找時(shí)如果發(fā)現(xiàn)所有hash函數(shù)對(duì)應(yīng)位都是1說(shuō)明存在,很明顯這 個(gè)過(guò)程并不保證查找的結(jié)果是100%正確的。同時(shí)也不支持刪除一個(gè)已經(jīng)插入的關(guān)鍵字,因?yàn)樵撽P(guān)鍵字對(duì)應(yīng)的位會(huì)牽動(dòng)到其他的關(guān)鍵字。所以一個(gè)簡(jiǎn)單的改進(jìn)就是 counting Bloom filter,用一個(gè)counter數(shù)組代替位數(shù)組,就可以支持刪除了。
2.Hashing
適用范圍:快速查找,刪除的基本數(shù)據(jù)結(jié)構(gòu),通常需要總數(shù)據(jù)量可以放入內(nèi)存
基本原理及要點(diǎn):
hash函數(shù)選擇,針對(duì)字符串,整數(shù),排列,具體相應(yīng)的hash方法。
碰撞處理,一種是open hashing,也稱為拉鏈法;另一種就是closed hashing,也稱開(kāi)地址法,opened addressing。
3.bit-map
適用范圍:可進(jìn)行數(shù)據(jù)的快速查找,判重,刪除,一般來(lái)說(shuō)數(shù)據(jù)范圍是int的10倍以下
基本原理及要點(diǎn):使用bit數(shù)組來(lái)表示某些元素是否存在,比如8位電話號(hào)碼
4.堆
適用范圍:海量數(shù)據(jù)前n大,并且n比較小,堆可以放入內(nèi)存
基 本原理及要點(diǎn):最大堆求前n小,最小堆求前n大。方法,比如求前n小,我們比較當(dāng)前元素與最大堆里的最大元素,如果它小于最大元素,則應(yīng)該替換那個(gè)最大元 素。這樣最后得到的n個(gè)元素就是最小的n個(gè)。適合大數(shù)據(jù)量,求前n小,n的大小比較小的情況,這樣可以掃描一遍即可得到所有的前n元素,效率很高。
5.雙層桶劃分 ----其實(shí)本質(zhì)上就是【分而治之】的思想,重在“分”的技巧上!
適用范圍:第k大,中位數(shù),不重復(fù)或重復(fù)的數(shù)字
基本原理及要點(diǎn):因?yàn)樵胤秶艽螅荒芾弥苯訉ぶ繁,所以通過(guò)多次劃分,逐步確定范圍,然后最后在一個(gè)可以接受的范圍內(nèi)進(jìn)行?梢酝ㄟ^(guò)多次縮小,雙層只是一個(gè)例子。
6.數(shù)據(jù)庫(kù)索引
適用范圍:大數(shù)據(jù)量的增刪改查
基本原理及要點(diǎn):利用數(shù)據(jù)的設(shè)計(jì)實(shí)現(xiàn)方法,對(duì)海量數(shù)據(jù)的增刪改查進(jìn)行處理。
7.倒排索引(Inverted index)
適用范圍:搜索引擎,關(guān)鍵字查詢
基本原理及要點(diǎn):為何叫倒排索引?一種索引方法,被用來(lái)存儲(chǔ)在全文搜索下某個(gè)單詞在一個(gè)文檔或者一組文檔中的存儲(chǔ)位置的映射。
8.外排序
適用范圍:大數(shù)據(jù)的排序,去重
基本原理及要點(diǎn):外排序的歸并方法,置換選擇 敗者樹(shù)原理,最優(yōu)歸并樹(shù)
9.trie樹(shù)
適用范圍:數(shù)據(jù)量大,重復(fù)多,但是數(shù)據(jù)種類小可以放入內(nèi)存
基本原理及要點(diǎn):實(shí)現(xiàn)方式,節(jié)點(diǎn)孩子的表示方式
10.分布式處理 mapreduce
適用范圍:數(shù)據(jù)量大,但是數(shù)據(jù)種類小可以放入內(nèi)存
基本原理及要點(diǎn):將數(shù)據(jù)交給不同的機(jī)器去處理,數(shù)據(jù)劃分,結(jié)果歸約。
另外還可以使用一些大數(shù)據(jù)處理工具來(lái)進(jìn)行數(shù)據(jù)分析挖掘,如NLPIR大數(shù)據(jù)語(yǔ)義智能分析系統(tǒng),它是根據(jù)中文數(shù)據(jù)挖掘的綜合需求,融合了網(wǎng)絡(luò)精準(zhǔn)采集、自然語(yǔ)言理解、文本挖掘和語(yǔ)義搜索的研究成果,并針對(duì)互聯(lián)網(wǎng)內(nèi)容處理的全技術(shù)鏈條的共享開(kāi)發(fā)平臺(tái)。
NLPIR大數(shù)據(jù)語(yǔ)義智能分析平臺(tái)主要有精準(zhǔn)采集、文檔轉(zhuǎn)化、新詞發(fā)現(xiàn)、批量分詞、語(yǔ)言統(tǒng)計(jì)、文本聚類、文本分類、摘要實(shí)體、智能過(guò)濾、情感分析、文檔去重、全文檢索、編碼轉(zhuǎn)換等十余項(xiàng)功能模塊,平臺(tái)提供了客戶端工具,云服務(wù)與二次開(kāi)發(fā)接口等多種產(chǎn)品使用形式。各個(gè)中間件API可以無(wú)縫地融合到客戶的各類復(fù)雜應(yīng)用系統(tǒng)之中,可兼容不同操作系統(tǒng)平臺(tái),可以供Java,Python,C,C#等各類開(kāi)發(fā)語(yǔ)言使用。
大數(shù)據(jù)分析和處理的方法步驟
大數(shù)據(jù)處理數(shù)據(jù)時(shí)代理念的三大轉(zhuǎn)變:要全體不要抽樣,要效率不要絕對(duì)精確,要相關(guān)不要因果。具體的大數(shù)據(jù)處理方法其實(shí)有很多,但是根據(jù)長(zhǎng)時(shí)間的實(shí)踐,
我們總結(jié)了一個(gè)基本的大數(shù)據(jù)處理流程,并且這個(gè)流程應(yīng)該能夠?qū)Υ蠹依眄槾髷?shù)據(jù)的處理有所幫助。整個(gè)處理流程可以概括為四步,分別是采集、導(dǎo)入和預(yù)處理、統(tǒng)計(jì)和分析,以及挖掘。
采集
大數(shù)據(jù)的采集是指利用多個(gè)數(shù)據(jù)庫(kù)來(lái)接收發(fā)自客戶端的數(shù)據(jù),并且用戶可以通過(guò)這些數(shù)據(jù)庫(kù)來(lái)進(jìn)行簡(jiǎn)單的查詢和處理工作。比如,
電商會(huì)使用傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)MySQL和Oracle等來(lái)存儲(chǔ)每一筆事務(wù)數(shù)據(jù),除此之外,Redis和MongoDB這樣的NoSQL數(shù)據(jù)庫(kù)也常用于數(shù)據(jù)的采集。
在大數(shù)據(jù)的采集過(guò)程中,其主要特點(diǎn)和挑戰(zhàn)是并發(fā)數(shù)高,因?yàn)橥瑫r(shí)有可能會(huì)有成千上萬(wàn)的用戶來(lái)進(jìn)行訪問(wèn)和操作,比如火車(chē)票售票網(wǎng)站和淘寶,它們并發(fā)的訪問(wèn)量在峰值時(shí)達(dá)到上百萬(wàn),
所以需要在采集端部署大量數(shù)據(jù)庫(kù)才能支撐。并且如何在這些數(shù)據(jù)庫(kù)之間進(jìn)行負(fù)載均衡和分片的確是需要深入的思考和設(shè)計(jì)。
統(tǒng)計(jì)/分析
統(tǒng)計(jì)與分析主要利用分布式數(shù)據(jù)庫(kù),或者分布式計(jì)算集群來(lái)對(duì)存儲(chǔ)于其內(nèi)的海量數(shù)據(jù)進(jìn)行普通的分析和分類匯總等,以滿足大多數(shù)常見(jiàn)的分析需求,在這方面,
一些實(shí)時(shí)性需求會(huì)用到EMC的Greenplum、Oracle的Exadadata,以及基于MySQL的列式存儲(chǔ)Infobright等,而一些批處理,或者基于半結(jié)構(gòu)化數(shù)據(jù)的需求可以使用Hadoop。
統(tǒng)計(jì)與分析這部分的主要特點(diǎn)和挑戰(zhàn)是分析設(shè)計(jì)的數(shù)據(jù)量大,其對(duì)系統(tǒng)資源,特別是I/O會(huì)有極大的占用。
導(dǎo)入/預(yù)處理
雖然采集端本身會(huì)有很多數(shù)據(jù)庫(kù),但是如果要對(duì)這些海量數(shù)據(jù)進(jìn)行有效的分析,還是應(yīng)該將這些來(lái)自前端的數(shù)據(jù)導(dǎo)入到一個(gè)集中的大型分布式數(shù)據(jù)庫(kù),或者分布式存儲(chǔ)集群,
并且可以在導(dǎo)入基礎(chǔ)上做一些簡(jiǎn)單的清洗和預(yù)處理工作。也有一些用戶會(huì)在導(dǎo)入時(shí)使用來(lái)自Twitter的Storm來(lái)對(duì)數(shù)據(jù)進(jìn)行流式計(jì)算,來(lái)滿足部分業(yè)務(wù)的實(shí)時(shí)計(jì)算需求。
導(dǎo)入與預(yù)處理過(guò)程的特點(diǎn)和挑戰(zhàn)主要是導(dǎo)入的數(shù)據(jù)量大,每秒鐘的導(dǎo)入量經(jīng)常會(huì)達(dá)到百兆,甚至千兆級(jí)別。
挖掘
與前面統(tǒng)計(jì)和分析過(guò)程不同的時(shí),數(shù)據(jù)挖掘一般沒(méi)有什么預(yù)先定好的主題,主要是在現(xiàn)有數(shù)據(jù)上面進(jìn)行基于各種算法的計(jì)算,從而起到預(yù)測(cè)的效果,從而實(shí)現(xiàn)一些高級(jí)別數(shù)據(jù)分析的需求。
比較典型算法有用于聚類的K-Means、用于統(tǒng)計(jì)學(xué)習(xí)的SVM和用于分類的Nsive Bayes,主要使用的工具有Hadoop的Mahout等。該過(guò)程的特點(diǎn)和挑戰(zhàn)主要是用于挖掘的算法很復(fù)雜,并且計(jì)算涉及的數(shù)據(jù)量和計(jì)算量都很大,還有,常用數(shù)據(jù)挖掘算法都以單線程為主。
相關(guān)書(shū)籍推薦
現(xiàn)在,使用Python和開(kāi)源工具可以非常方便地進(jìn)行文本分析,因此在這個(gè)文本大數(shù)據(jù)時(shí)代,每個(gè)開(kāi)發(fā)人員都需要了解如何分析文本。
推薦圖書(shū):《自然語(yǔ)言處理與計(jì)算語(yǔ)言》
本書(shū)介紹了如何應(yīng)用自然語(yǔ)言處理和計(jì)算語(yǔ)言學(xué)算法,對(duì)現(xiàn)有數(shù)據(jù)進(jìn)行推理,并得到一些有趣的分析結(jié)果。這些算法基于目前主流的統(tǒng)計(jì)機(jī)器學(xué)習(xí)和人工智能技術(shù),實(shí)現(xiàn)工具唾手可得,比如Python社區(qū)的Gensim和spaCy之類的工具。
本書(shū)從學(xué)習(xí)數(shù)據(jù)清洗開(kāi)始,學(xué)習(xí)如何執(zhí)行計(jì)算語(yǔ)言學(xué)算法,然后使用真實(shí)的語(yǔ)言和文本數(shù)據(jù)、使用Python來(lái)探索NLP和深度學(xué)習(xí)的更高級(jí)課題。我們還會(huì)學(xué)習(xí)使用開(kāi)源工具來(lái)標(biāo)記、
解析和建模文本。讀者將掌握優(yōu)秀框架的實(shí)戰(zhàn)知識(shí),以及怎樣為主題模型選擇類似Gensim的工具,怎樣通過(guò)Keras進(jìn)行深度學(xué)習(xí)。
誰(shuí)適合讀這本書(shū)?
希望讀者對(duì)Python有一定的了解,如果沒(méi)有也沒(méi)關(guān)系,本書(shū)會(huì)介紹一些Python的基礎(chǔ)知識(shí)。此外,了解基本的統(tǒng)計(jì)學(xué)方法也大有裨益。鑒于本書(shū)主要內(nèi)容涉及自然語(yǔ)言處理,所以了解基本語(yǔ)言學(xué)的知識(shí)還是非常有幫助的。
本書(shū)主要內(nèi)容
第1章,什么是文本分析。當(dāng)今技術(shù)的發(fā)展使得開(kāi)發(fā)人員可以方便地從互聯(lián)網(wǎng)獲取海量的文本數(shù)據(jù),利用強(qiáng)大、免費(fèi)的開(kāi)源工具來(lái)進(jìn)行機(jī)器學(xué)習(xí)、計(jì)算語(yǔ)言學(xué)方面的研究。
這個(gè)領(lǐng)域正在以前所未有的速度發(fā)展。本章將詳細(xì)討論什么是文本分析,以及學(xué)習(xí)和理解文本分析的動(dòng)機(jī)。
第2章,Python文本分析技巧。第1章中提到,本書(shū)將把Python作為工具,因?yàn)樗且环N易用且功能強(qiáng)大的編程語(yǔ)言。本章將介紹用于文本分析的Python基礎(chǔ)知識(shí)。為什么Python基礎(chǔ)知識(shí)很重要?雖
然我們希望讀者具備一定的Python和高中數(shù)學(xué)知識(shí),但部分讀者也許已經(jīng)很久沒(méi)有編寫(xiě)Python代碼了。還有一部分Python開(kāi)發(fā)人員的經(jīng)驗(yàn)是基于Django之類的Web框架之上,這與文本分析和字符串處理所需要的技能有所不同。
第3章,spaCy語(yǔ)言模型。雖然第2章已經(jīng)介紹了文本分析的概念,但沒(méi)有具體討論構(gòu)建文本分析流程的任何技術(shù)細(xì)節(jié)。本章將介紹spaCy的語(yǔ)言模型。這將是文本分析的第一步,
也是NLP流程中的第一個(gè)組件。此外,本章還將介紹spaCy開(kāi)源庫(kù),以及如何使用spaCy來(lái)幫助開(kāi)發(fā)人員完成文本分析任務(wù),并討論一些更強(qiáng)大的功能,如POS標(biāo)記和NER。本章將用一個(gè)實(shí)例來(lái)說(shuō)明如何使用spaCy快速有效地預(yù)處理數(shù)據(jù)。
第4章,Gensim:文本向量化、向量變換和n-grams的工具。雖然前面的章節(jié)已經(jīng)帶領(lǐng)讀者處理過(guò)原始文本數(shù)據(jù),但是任何機(jī)器學(xué)習(xí)或信息檢索相關(guān)算法都不會(huì)把原始文本作為輸入格式。
所以本章將使用一種稱為向量的數(shù)據(jù)結(jié)構(gòu)來(lái)幫助算法模型理解文本,并選擇Gensim和scikit-learn作為轉(zhuǎn)換工具。在開(kāi)始向量化文本的同時(shí),還會(huì)引入預(yù)處理技術(shù),比如bi-grams、tri-grams和n-grams。通過(guò)詞頻可以過(guò)濾掉文檔中不常見(jiàn)的單詞。
第5章,詞性標(biāo)注及其應(yīng)用。第1章和第2章介紹了文本分析和Python,第3章和第4章幫助讀者為更高級(jí)的文本分析設(shè)置代碼。本章將討論第一種高級(jí)NLP技術(shù):詞性標(biāo)注(POS-tagging)。我們將研究什么是詞性,如何識(shí)別單詞的詞性,以及怎樣使用詞性標(biāo)簽。
第6章,NER標(biāo)注及其應(yīng)用。上一章介紹了如何使用spaCy來(lái)完成詞性標(biāo)注。本章將探討另一個(gè)有趣的用法:NER標(biāo)注。本章將從語(yǔ)言和文本分析的角度來(lái)討論什么是NER標(biāo)注,并詳細(xì)說(shuō)明它的使用示例,以及如何用spaCy訓(xùn)練自己的NER標(biāo)注。
第7章,依存分析。第5章和第6章中介紹了spaCy的NLP如何執(zhí)行各種復(fù)雜的計(jì)算語(yǔ)言學(xué)算法,如POS標(biāo)注和NER標(biāo)注。不過(guò),這并不是所有的spaCy包,本章將探討依存分析的強(qiáng)大功能,
以及如何在各種上下文和應(yīng)用場(chǎng)景中使用它。在繼續(xù)使用spaCY之前,我們將研究依存分析的理論基礎(chǔ),并訓(xùn)練一個(gè)依存分析模型。
第8章,主題模型。到目前為止,我們學(xué)習(xí)了一些計(jì)算語(yǔ)言學(xué)算法和spaCy方面的知識(shí),并了解了如何使用這些計(jì)算語(yǔ)言學(xué)算法來(lái)標(biāo)記數(shù)據(jù),以及理解句子結(jié)構(gòu)。
雖然利用這些算法可以捕獲文本的細(xì)節(jié),但仍然缺乏對(duì)數(shù)據(jù)的全面了解。在每個(gè)語(yǔ)料庫(kù)中,哪些詞比其他詞出現(xiàn)得更頻繁?是否可以對(duì)數(shù)據(jù)進(jìn)行分組或找到潛在主題?本章將嘗試解答這些問(wèn)題。
第9章,高級(jí)主題建模。在前一章中,我們見(jiàn)識(shí)了主題模型的威力,并理解和探索了數(shù)據(jù)的直觀方式。本章將進(jìn)一步探討這些主題模型的實(shí)用性,以及如何創(chuàng)建一個(gè)更高效的主題模型,
更好地封裝可能出現(xiàn)在語(yǔ)料庫(kù)中的主題。主題建模是理解語(yǔ)料庫(kù)文檔的一種方式,它為開(kāi)發(fā)人員分析文檔提供了更多的發(fā)揮空間。
第10章,文本聚類和文本分類。前一章介紹了主題模型,以及它組織和理解文檔及其子結(jié)構(gòu)的過(guò)程。本章將繼續(xù)討論新的文本機(jī)器學(xué)習(xí)算法,以及兩個(gè)特定的任務(wù)—— 文本聚類和文本分類,
探討這兩個(gè)算法的直觀推理,以及如何使用流行的Python機(jī)器學(xué)習(xí)庫(kù)scikit-learn來(lái)建模。
第11章,查詢?cè)~相似度計(jì)算和文本摘要。一旦文本可以向量化,就可以計(jì)算文本文檔之間的相似性或距離。這正是本章要介紹的內(nèi)容。現(xiàn)在業(yè)界存在多種不同的向量表示技術(shù),從標(biāo)準(zhǔn)的單詞包表示、
TF-IDF到文本文檔的主題模型表示。本章還將介紹關(guān)于如何用Gensim實(shí)現(xiàn)文本摘要和關(guān)鍵詞提取的知識(shí)。
第12章,Word2Vec、Doc2Vec和Gensim。前面的章節(jié)曾經(jīng)多次討論向量化這一課題——如何理解向量化,以及如何使用數(shù)學(xué)形式表示文本數(shù)據(jù)。我們所使用的所有機(jī)器學(xué)習(xí)方法的基礎(chǔ)都依賴于這些向量表示。
本章將更進(jìn)一步,使用機(jī)器學(xué)習(xí)技術(shù)來(lái)生成單詞的向量化表示,從而更好地封裝單詞的語(yǔ)義信息。這種技術(shù)俗稱為詞嵌入,Word2Vec和Doc2Vec是該技術(shù)的兩種主流變體。
第13章,使用深度學(xué)習(xí)處理文本。到目前為止,我們已經(jīng)探索了機(jī)器學(xué)習(xí)在各種上下文中的應(yīng)用,比如主題建模、聚類、分類、文本摘要,甚至POS標(biāo)注和NER標(biāo)注都離不開(kāi)機(jī)器學(xué)習(xí)。
本章將介紹機(jī)器學(xué)習(xí)的前沿技術(shù)之一:深度學(xué)習(xí)。深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)分支。該技術(shù)受生物結(jié)構(gòu)的啟發(fā),通過(guò)神經(jīng)網(wǎng)絡(luò)來(lái)生成算法和結(jié)構(gòu)。文本生成、文本分類和單詞嵌入領(lǐng)域都是深度學(xué)習(xí)可結(jié)合的領(lǐng)域。
本章將學(xué)習(xí)深度學(xué)習(xí)的基礎(chǔ)知識(shí),以及一個(gè)文本深度學(xué)習(xí)模型實(shí)現(xiàn)的例子。
第14章,使用Keras和spaCy進(jìn)行深度學(xué)習(xí)。前一章介紹了文本的深度學(xué)習(xí)技術(shù),并嘗試使用神經(jīng)網(wǎng)絡(luò)生成文本。本章將更深入地研究文本的深度學(xué)習(xí),特別是如何建立一個(gè)能夠進(jìn)行文本分類的Keras模型,以及如何將深度學(xué)習(xí)融入到spaCy的流程中。
第15章,情感分析與聊天機(jī)器人。到目前為止,我們已經(jīng)掌握了開(kāi)始文本分析項(xiàng)目所需的基本技能,可以嘗試更為復(fù)雜的項(xiàng)目。其中,有兩個(gè)文本分析場(chǎng)景在之前沒(méi)有涉及,但其中的很多概念都很常見(jiàn):
情緒分析和聊天機(jī)器人。本章將作為一個(gè)導(dǎo)引,指導(dǎo)讀者獨(dú)立完成上述兩個(gè)應(yīng)用。本章不提供構(gòu)建聊天機(jī)器人或情感分析的完整代碼,而是把重點(diǎn)放在各種相關(guān)技術(shù)原理的介紹上。
熱門(mén)評(píng)論
最新評(píng)論