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

1.1 什么是文本分析

如果要列舉出人類每天都在使用的一種媒介,那一定是文本。無論是晨報還是收到的短信,可能都是以文本的形式傳遞信息。

我們可以從更深遠的角度去看文本分析。現今,谷歌等公司處理的文本數據量大到難以想象(谷歌每年1萬多億個查詢,Twitter每天16億個查詢,WhatsApp每天30多億條信息,如圖1.1所示),文本的普遍性和純粹性使得我們有充分的理由來認真研究一番。同時文本數據也具有巨大的商業價值,公司可以利用它來幫助分析客戶和理解數據趨勢。此外,它還可以用來為用戶提供更個性化的體驗,或者作為目標市場的信息源。例如,Facebook就重度依賴文本數據,本書將要介紹的算法之一就是由Facebook的AI研究團隊開發的。

圖1.1 2006-2020年數據增長率(其中2019年和2020年是預測數據)

文本分析是一種從文本中提取有用信息的技術,涉及多種技術流派,本書使用自然語言處理(NLP)、計算語言學(CL)和數值工具來實現文本信息的提取。其中,數值工具指的是機器學習算法或信息檢索算法。下面將簡要解釋這些術語,因為這些名詞將在本書中多次出現。

自然語言處理(NLP)指使用計算機處理自然語言。例如,從文本正文中刪除某個出現過的單詞,這是一個最簡單的例子。

計算語言學(CL),顧名思義,是從計算的角度研究語言學的學科。即使用計算機和算法來執行語言學任務,例如文本的詞性標注任務(如名詞或動詞)是通過算法,而不是人工來完成。

機器學習(ML)是一門使用統計算法來指導機器執行特定任務的學科。機器學習過程發生在數據上,常見的場景是基于先前觀察到的數據來預測一個新的值。

信息檢索(IR)是根據用戶的查詢進行查找或檢索信息的工作。完成這項任務的算法被稱為信息檢索算法,本書將經常涉及這項技術。

文本分析本身歷史悠久—— 它的第一個定義來自商業智能(BI)領域,H.P.Luhn曾于1958年10月在IBM Journal發表了一篇題為A Business Intelligence System的文章,其中描述了一個系統,它會完成以下工作:

“……利用數據處理機自動提取和自動編碼文檔,并為組織中的每個行動點創建興趣畫像。輸入的文檔和內部生成的文檔都會被自動抽象,以單詞為特征,并自動地發送到相應的操作點。”

討論有關文檔的話題比數字的話題更為有趣,商業智能的第一個發明創意來自文本的理解,而文檔又是整個文本分析發展歷程的見證。即使在商業文本分析領域之外,使用計算機來幫助理解文本和語言的設想早在人工智能思想誕生之初就出現了。1999年,John Hutchins在Retrospect and prospect in computer-based translation上發表了一篇關于文本分析的回顧文章,其中談到美國軍方早在20世紀50年代就開始進行機器翻譯方面的研究,以便將俄語科學期刊翻譯成英語版本。

制造智能機器的嘗試也同樣始自文本。1966年由Joseph Weizenbaum在麻省理工學院開發的ELIZA程序就是其中一種嘗試。ELIZA程序并沒有真正地理解語言,它的基本原理是通過匹配規則來嘗試保持對話。這些都只是一些早期的文本分析試驗,如今計算機(和人類)已經取得了長足的進步,人類已經制造出了令人難以置信的工具。

機器翻譯(見圖1.2)領域已經走過了漫長的發展道路,現在人們已經可以使用智能手機在不同語言之間進行高效的翻譯,使用諸如谷歌提出的神經網絡機器翻譯等前沿技術,學術界和工業界之間的差距正在縮小,我們已經能夠親身體驗自然語言處理技術的魔力。

這些進步也促進了演講者演講方式的進步,比如視頻中的字幕。而蘋果的Siri和亞馬遜的Alexa等個人助理工具的成功研發也得益于這些出色的文本處理方法。會話結構的理解和信息提取是早期自然語言處理的關鍵問題,21世紀以來,這兩方面的研究成果非常豐碩。

搜索引擎,如谷歌或必應的發展也得益于自然語言處理(NLP)和計算語言學(CL)的研究,以前所未有的方式影響著人類的生活。信息檢索(IR)通過統計手段處理文本,完成分類、聚類和檢索文檔等工作。主題建模(見圖1.3)等方法可以幫助識別大型、非結構化的文本正文中的關鍵主題。識別這些主題超越了搜索關鍵詞的范疇,并幫助我們進一步理解文本的本質。如果不依靠計算機的力量,人類就無法對文本進行大規模的統計分析。我們將在本書后續內容中詳細討論主題建模。

圖1.2 一個法—英神經網絡機器翻譯模型的例子

圖1.3 主題建模等技術使用概率建模方法來從文本中識別關鍵主題,
本書后續內容將詳細研究這一點

在體驗手機上的最新計算能力之前,人類又往前邁進了一步,Python和自然語言處理的最新發展意味著我們現在可以自行開發具有復雜算法的系統了!

不僅是自然語言處理和文本分析技術本身的革新,這類技術還使得開發人員的使用成本大大降低。近幾年出現的開源軟件在性能上表現得絲毫不遜色于商業工具,后者的代表是微軟的文本分析工具。

MATLAB則是另一個非常流行的科學計算商業工具。雖然在以前,這種商業工具比免費的開源軟件更加強大,但是隨著為開源庫貢獻代碼的開發人員逐漸增多,以及來自工業界的基金對開源社區的支持,情況開始扭轉。許多軟件巨頭已經開始將開源軟件用于其內部系統開發,比如谷歌的TensorFlow和蘋果的scikit-learn起初都是開源的Python機器學習庫。

可以說,Python的生態系統提供的軟件包數量之多,意味著它在文本分析領域領先于其他軟件包,我們將集中精力進行研究。一個龐大而活躍的開源社區本身也獨具魅力。

本書還將討論現代自然語言處理和計算語言學技術,以及配套的開源工具。

主站蜘蛛池模板: 明溪县| 林口县| 德江县| 宜黄县| 扬州市| 鄯善县| 耿马| 新田县| 澄城县| 廊坊市| 吉首市| 莆田市| 台湾省| 广河县| 革吉县| 泸西县| 安塞县| 贵港市| 龙山县| 松江区| 巴林左旗| 海晏县| 九江市| 区。| 莱西市| 保定市| 黎平县| 无为县| 东乌| 新郑市| 龙江县| 桂林市| 墨江| 繁昌县| 临高县| 齐齐哈尔市| 进贤县| 岳普湖县| 泽州县| 黔江区| 黄骅市|