數據驅動的實驗分析已成為自然語言處理(NLP)算法的主要評價工具。事實上,在過去的十年中,已經很少看到一篇NLP論文,尤其是一篇提出新算法的論文,不包括大量的實驗分析,涉及的任務、數據集、領域和語言的數量在不斷增加。這種對實證結果的強調強調了統計顯著性檢驗在自然語言處理研究中的作用:如果我們作為一個社區,依賴實證評估來驗證我們的假設并揭示正確的語言處理機制,我們最好確保我們的結果不是巧合。
本書的目標是討論NLP中統計顯著性檢驗的主要方面。我們貫穿全書的指導假設是,NLP研究人員和工程師要處理的基本問題是,一種算法是否可以被認為比另一種算法更好。這個問題推動了這個領域的發展,因為它允許不斷發展更好的技術來應對語言處理的挑戰。在實踐中,研究人員和工程師希望從一組有限的實驗中得出正確的結論,這一結論應該適用于其他使用他們沒有可用數據集的實驗,或由于時間和資源有限而無法執行的實驗。因此,本書從兩種算法的實驗比較的角度討論了在自然語言處理中使用統計顯著性檢驗的機遇和挑戰。我們涵蓋的主題包括為主要的NLP任務選擇合適的顯著性檢驗,處理非凸深度神經網絡顯著性檢驗的獨特方面,以統計有效的方式在兩種NLP算法之間進行大量的比較(多重假設檢驗),最后,數據和現場實踐的性質帶來了獨特的挑戰。
//www.morganclaypool.com/doi/10.2200/S00994ED1V01Y202002HLT045
數據科學不僅僅是機器學習和統計學,也不僅僅是預測。但有一件事我們可以非常自信地斷言,數據科學始終與數據有關。本書的目的有兩方面:
我們專注于數據科學的支柱: 數據。
我們使用Julia編程語言來處理數據。
有許多編程語言,每一種都有自己的優點和缺點。有些語言非常快,但很冗長。其他語言很容易寫,但很慢。這就是所謂的兩種語言問題,Julia的目標是解決這個問題。盡管我們三個人來自不同的領域,但我們都發現朱莉婭的語言在我們的研究中比我們以前使用過的語言更有效。我們將在第二節討論我們的一些論點。然而,與其他語言相比,Julia 是一種最新的語言。這意味著圍繞語言的生態系統有時很難駕馭。很難弄清楚從哪里開始,以及如何將所有不同的包組合在一起。這就是為什么我們決定創作這本書!我想讓研究人員,尤其是我們的同事,更容易開始使用這門很棒的語言。如上所述,每種語言都有其優缺點。在我們看來,數據科學絕對是Julia的強項。與此同時,我們三個人都在日常生活中使用數據科學工具。而且,你可能也想使用數據科學!這就是為什么本書將重點放在數據科學上。在本節的下一部分,我們強調數據科學的“數據”部分,以及為什么數據技能是,并將繼續在工業和學術界的高需求。我們主張將軟件工程實踐納入數據科學,這將減少與合作者更新和共享代碼時的摩擦。大多數數據分析都需要合作;這就是為什么這些軟件實踐將幫助您。
這本書將理論計算機科學和機器學習連接起來,探索雙方可以相互教授什么。它強調需要靈活、易于處理的模型,以便更好地捕捉機器學習的難點,而不是難點。
理論計算機科學家將介紹機器學習的重要模型和該領域的主要問題。機器學習研究人員將以一種可訪問的格式介紹前沿研究,并熟悉現代算法工具包,包括矩的方法,張量分解和凸規劃松弛。
此外是建立對實踐中使用的方法的嚴格理解,并促進發現令人興奮的新方法來解決重要的長期問題。
現代機器學習系統通常建立在沒有可證明的保證的算法之上,它們何時以及為何有效是一個爭論的主題。在這門課中,我們將重點設計算法,讓我們可以嚴格分析其性能,以解決基本的機器學習問題。我們將涵蓋的主題包括:非負矩陣分解、張量分解、稀疏編碼、學習混合模型、圖模型中的矩陣補全和推理。幾乎所有這些糟糕的計算困難的問題, 所以開發一個算法理論是關于(1)選擇合適的模型來研究這些問題,(2)開發適宜的數學工具(通常從概率,幾何或代數)為了嚴格分析現有的啟發式,或設計全新的算法。
基于最近關于非凸優化算法在訓練深度神經網絡和數據分析中的其他優化問題中的應用,我們對非凸優化算法全局性能保證的最新理論成果進行了綜述。我們從經典的論證開始,證明一般的非凸問題不可能在合理的時間內得到有效的解決。然后,我們給出了一個可以通過盡可能多地利用問題的結構來尋找全局最優解的問題列表。處理非凸性的另一種方法是將尋找全局最小值的目標放寬到尋找一個平穩點或局部最小值。對于這種設置,我們首先給出確定性一階方法收斂速度的已知結果,然后是最優隨機和隨機梯度格式的一般理論分析,以及隨機一階方法的概述。然后,我們討論了相當一般的一類非凸問題,如α-弱擬凸函數的極小化和滿足Polyak- Lojasiewicz條件的函數,這些函數仍然可以得到一階方法的理論收斂保證。然后我們考慮非凸優化問題的高階、零階/無導數方法及其收斂速度。
計算機能有效地處理人類語言嗎?如果這很難,為什么?如果這是可能的,怎么做?這本書向讀者介紹計算語言學和自動自然語言處理的迷人科學,它結合了語言學和人工智能。這本書的主要部分致力于解釋語言處理器的內部工作,語言處理器是一個軟件模塊,負責將自然語言輸入翻譯成傳統人工智能應用程序直接可用的表示,反之亦然,負責將它們的答案翻譯成人類語言。這本書的整體重點是精心闡述的,盡管——由于許多歷史原因——在文獻中被稱為意義文本理論的計算語言學模型中迄今鮮為人知。為了便于比較,還詳細考慮了其他模型和形式。這本書主要面向對西班牙語自然語言處理技術的應用感興趣的研究人員和學生。特別地,書中給出的大多數例子都涉及西班牙語材料——這是本書區別于其他自然語言處理書籍的一個特點。然而,我們的主要闡述是足夠普遍的,適用于廣泛的語言。具體來說,考慮到這本書的許多讀者將以西班牙語為母語。為他們提供了一些關于英語術語的評論,以及一本關于書中使用的技術術語的英-西班牙語簡短詞典。不過,閱讀這本英文書會幫助說西班牙語的讀者熟悉有關該主題的科學文獻中使用的風格和術語。
通過技術例子從業務角度發現深度學習的潛在應用、挑戰和機會。這些應用包括圖像識別、分割和注釋、視頻處理和注釋、語音識別、智能個人助理、自動翻譯和自動車輛。
面向開發者的深度學習業務應用介紹涵蓋了一些常見的DL算法,比如基于內容的推薦算法和自然語言處理。您將探索一些示例,例如使用全卷積神經網絡(FCNN)和剩余神經網絡(ResNets)進行視頻預測。您還將看到DL用于控制機器人的應用程序,使用蒙特卡羅樹搜索(用于在圍棋游戲中擊敗人類)探索DeepQ學習算法,以及為財務風險評估建模。這里還將提到一組被稱為生成對抗神經網絡(GANs)的強大算法,它可用于圖像著色、圖像補全和樣式轉換。
讀完這本書,你將對深度神經網絡這一令人興奮的領域有一個概述,并對深度學習的大部分主要應用有一個理解。這本書包含了一些代碼示例、技巧和如何使用Keras框架訓練深度學習模型的見解。
你將學到什么
這本書是給誰的
當前自然語言處理的一個問題是處理低資源的語言,這些語言缺乏有用的訓練屬性,如受監督的數據、母語使用者或專家的數量等。這篇綜述論文簡明地總結了過去在解決這一問題上取得的突破性成就,并分析了未來研究方向的整體背景下的潛在改進。
使用Python進行自然語言處理(NLP),學習如何設置健壯環境來執行文本分析。這第二版經歷了一個重大的修改,并介紹了幾個重要的變化和基于NLP的最新趨勢的新主題。
您將了解如何在NLP中使用最新的、最先進的框架,以及機器學習和深度學習模型,用于Python支持的監督情感分析,以解決實際的案例研究。首先回顧Python中關于字符串和文本數據的NLP基礎知識,然后討論文本數據的工程表示方法,包括傳統的統計模型和新的基于深度學習的嵌入模型。本文還討論了解析和處理文本的改進技術和新方法。
文本摘要和主題模型已經全面修訂,因此本書展示了如何在NIPS會議論文的興趣數據集上下文中構建、調整和解釋主題模型。此外,這本書涵蓋了文本相似性技術與現實世界的電影推薦人的例子,以及情緒分析使用監督和非監督的技術。還有一章專門討論語義分析,您將了解如何從頭構建自己的命名實體識別(NER)系統。雖然該書的整體結構保持不變,但整個代碼庫、模塊和章節都已更新到最新的Python 3。x版本。
你將學習
這本書是給誰的
本文是慕尼黑大學數學、信息學及統計學院的博士生Pankaj Gupta的博士學位論文,主要研究兩個NLP任務:關系提取和主題建模。本文將神經網絡和主題模型兩種互補的學習范式結合在一個神經復合模型中,使我們能夠通過主題模型在文檔集合中共同學習主題結構,并通過語言模型在句子中共同學習單詞關系。
慕尼黑大學自19世紀以來便是德國和歐洲最具聲望大學之一,也是德國精英大學、U15大學聯盟和歐洲研究型大學聯盟成員,其社會科學、人文科學、物理,化學,生命科學,醫學,數學等領域均在國際上享有盛名。本文是慕尼黑大學數學、信息學及統計學院的博士生Pankaj Gupta的博士學位論文。
自然語言處理(Natural language processing,NLP)涉及構建計算技術,允許計算機自動分析和有意義地表示人類語言。隨著數字時代數據的指數增長,基于NLP的系統的出現使我們能夠通過廣泛的應用程序,如網絡搜索引擎、語音助理等,輕松地訪問相關信息。為了實現這一目標,幾十年來的一項長期研究一直集中在NLP和機器學習交叉的技術上。
近年來,深度學習技術利用了人工神經網絡(ANNs)的表現力,在廣泛的NLP任務中取得了最先進的性能。深度神經網絡(DNNs)可以從輸入數據中自動提取復雜的特征,從而為手工特征工程提供了一種替代方法。除了ANN之外,概率圖形模型(PGMs)、圖論和概率方法的耦合還具有描述系統隨機變量之間因果結構的能力,并捕捉到不確定性的原則概念。考慮到DNNs和PGMs的特點,它們被有利地結合起來建立強大的神經模型,以了解數據的潛在復雜性。
傳統的基于機器學習的NLP系統采用了淺層計算方法(如SVM或Logistic回歸),并依賴于手工特征,這類方法耗時、復雜且往往是不夠完整的。基于深度學習和神經網絡的方法最近在機器翻譯、文本分類、命名識別、關系提取、文本相似性等NLP任務上取得了較好的效果。這些神經模型可以從訓練數據中自動提取有效的特征表示。
本文主要研究兩個NLP任務:關系提取和主題建模。前者的目的是識別句子或文檔中實體或名詞之間的語義關系。成功地提取語義關系有助于構建結構化知識庫,在網絡搜索、問答、推薦引擎等下游NLP應用領域很有用。另一方面,主題建模的任務旨在理解文檔集合中的主題結構。主題建模是一種流行的文本挖掘工具,它可以自動分析大量的文檔集合,并在不實際閱讀的情況下理解主題語義。主題建模分別生成用于文檔理解和信息檢索的Word集群(即主題)和文檔表示。
本質上,關系提取和主題建模主要基于從文本中學習到的表示的質量。在本文中,我們提出了特定于任務的學習表示神經模型,并分別在監督和非監督機器學習范式領域進行關系提取和主題建模任務。更具體地說,我們在開發NLP任務的神經模型方面做出了以下貢獻:
神經關系提取:首先,我們提出了一種新的基于遞歸神經網絡的table-filling體系結構,以便在句子中聯合執行實體和關系提取。然后,我們進一步擴展了跨句子邊界實體之間關系的提取范圍,并提出了一種新的基于依賴關系的神經網絡體系結構。這兩個貢獻在于機器學習的監督范式。此外,我們還在構建一個受缺乏標記數據約束的魯棒關系提取器方面做出了貢獻,其中我們提出了一種新的弱監督引導技術。考慮到這些貢獻,我們進一步探索了遞歸神經網絡的可解釋性,以解釋它們對關系提取的預測。
神經主題建模:除了有監督神經體系結構外,我們還開發了無監督神經模型,以學習主題建模框架中有意義的文檔表示。首先,我們提出了一種新的動態主題模型,它捕獲了隨著時間的推移的主題。接下來,我們在不考慮時間依賴性的情況下建立了靜態主題模型,其中我們提出了神經主題建模體系結構,這些體系結構也利用外部知識,即Word嵌入來解決數據稀疏性。此外,我們還開發了神經主題模型,其中包含了使用單詞嵌入和來自許多來源的潛在主題的知識遷移。最后,我們通過引入語言結構(如語序、局部句法和語義信息等)來改進神經主題建模。它處理傳統主題模型中的詞袋問題。本節中提出的神經NLP模型是基于PGMs、深度學習和ANN交叉技術。
在這里,神經關系提取的任務使用神經網絡來學習通常在句子級別上的表示,而不訪問更廣泛的文檔上下文。然而,主題模型可以訪問跨文檔的統計信息。因此,我們將兩種互補的學習范式結合在一個神經復合模型中是有利的,它由一個神經主題和一個神經語言模型組成,使我們能夠通過主題模型在文檔集合中共同學習主題結構,并通過語言模型在句子中共同學習單詞關系。
總的來說,我們在本論文中的研究貢獻擴展了基于NLP的系統,用于關系提取和主題建模任務,同時具有最先進的性能。