當前位置:
首頁 > 最新 > 石溪大學:DLATK:差別語言分析工具箱

石溪大學:DLATK:差別語言分析工具箱

你和「懂AI」之間,只差了一篇論文

很多讀者給芯君後台留言,說看多了相對簡單的AI科普和AI方法論,想看點有深度、有厚度、有眼界……以及重口味的專業論文。

為此,在多位AI領域的專家學者的幫助下,我們解讀翻譯了一組頂會論文。每一篇論文翻譯校對完成,芯君和編輯部的老師們都會一起笑到崩潰,當然有的論文我們看得抱頭痛哭。

同學們現在看不看得懂沒關係,但芯君敢保證,你終有一天會因此愛上一個AI的新世界。

這是讀芯術解讀的第79篇論文

EMNLP 2017 System Demonstrations

DLATK: 差別語言分析工具箱

DLATK:Differential Language AnalysisToolKit

石溪大學

Stony Brook University

【摘要】我們介紹了差別語言分析工具包(DLATK),這是一個開源的python包和用於進行社會科學的語言分析的命令行工具。儘管DLATK提供標準如單詞切分或SVM分類等NLP方法步驟,但其創新的優勢在於分析有用的心理、健康和社會科學:(1)整合語言以外的結構化信息;(2)指定級別和分析單位(如文檔、用戶團隊);(3)連續輸出的統計指標;(4)用於社會科學預測問題的魯棒、久經考驗和精確的方法。DLATK集成了多個受歡迎的包(SKLearn,Mallet),允許互動式使用(Jupyter筆記本),並且通常遵循面向對象的原則,以便在額外的庫或存儲技術中輕鬆綁定。

1 引言

NLP對社會和醫學科學的發展已經引起了NLP研究的注意,從理解語言本身(例如句法分析或描述形態)到理解如何使用語言來描繪人們的特徵(例如,通過關聯語言的使用特徵和產生語言的人的特徵)。大部分工作都是使用Facebook和Twitter完成的(Coppersmithet al .,2014)。

與傳統的NLP相比,分析社會科學應用的語言需要不同的工具和技術。結構化數據通常有利於使用廣泛的非語言信息,如時間和地點、作者的人口統計(甚至健康或學校記錄)。模型可以在多個層次的分析中進行:文檔、用戶和不同的地理位置(郵政編碼、州或國家)或時間解析度。許多結果(或相關變數)是連續的(如人格測試的分數),研究人員通常對可預測的準確性感興趣(Kernet al .,2014a)。

有一些小的「技巧」可以獲得準確的預測模型或語言特徵和結果之間的高相關性。需要表情感知的標記者,用於創建LDA主題的健壯方法(不同的包產生明顯不同質量的集群),在模型中結合人口和語言特性時出現了一些微妙的規則化問題。當這些選擇與結構化數據的複雜性結合起來時,即使是NLP和數據科學家也不能生產出高質量的模型。因此,我們構建了一個平台,它集成了各種各樣的開源工具,以及我們的「技巧」和優化,為社會科學在NLP領域進行可重複性研究提供一個有良好記錄和易於使用的程序。

這個軟體現在已經被用於心理學、醫療保健和NLP等32篇論文的數據分析,現在可以在GPLv3軟體許可證下使用(http://dlatk.wwbp.orgor http://github.com/dlatk/)。

2整體框架

DLATK的核心是圖1所示的Python庫。基類DLAWorker位於一個數據引擎之上(例如,MySQL,HDFS / Spark),用於跟蹤基本語料庫(語料庫位置,分析單位)。下一個級別的類作用於:消息、特性或結果。MessageAnnotator過濾消息(刪除重複的推文,語言過濾等等),而MessageTransformer在消息文本上執行(標記化,語音標籤的一部分等等)。特徵提取器FeatureExtractor將文檔文本轉換為特徵(ngrams、字元ngrams等等)並負責編寫,而特徵獲取函數FeatureGetters則讀取下游分析,或者通過FeatureRefiner進一步細化。OutGetter讀取結果表(即語言以外的信息)。它的子類OutcomeAnalyzer與語言和語言外信息一起工作,用於統計分析(相關性、邏輯回歸等等)和各種輸出(詞雲、相關矩陣等等)。

圖1 基本DLATK數據包類結構

底層的類不繼承,而是使用FeatureGetters和OutcomeGetters。這個包括兩個用於預測的類RegressionPredictor和ClassifyPredictor,他們執行機器學習任務:交叉驗證、特徵選擇、訓練模型、構建數據驅動詞典等,而DimensionReducer則對語言和輸出提供無監督轉換語言。最後,FeatureStar類(「star」表示通配符)被用來與其他類交互並將重要的信息轉換為方便的數據結構(例如熊貓數據幀Pandasdataframes)。

3 差別語言分析

DLATK的典型用法是執行差異語言分析differentiallanguage analysis——語言特徵的識別(a)可以獨立地解釋連續結果的最大方差,或者(b)可以是離散結果中單獨地最具預測力的(Schwartz等人,2013b)。不同於預測技術,其中尋求為給定語言產生結果(接下來討論),在這裡的目標是產生與結果最相關或獨立區別的語言。(即使在基本預測方法如線性回歸,每個語言特性和結果之間的關係很複雜,依賴於所有變數之間的協方差結構。DLA在單變數、每個特徵樣式或有限的控制變數中工作(例如當識別人格時的年齡和性別區分人格))。DLATK提供了幾個執行DLA的指標。

連續DLA度量標準。我們支持多種指標,將語言與連續結果(如年齡、抑鬱程度、人格因素得分、收入)進行比較。主要指標是基於皮爾遜積矩相關係數PearsonProduct-Moment Correlation Coefficient (Agresti and Finlay, 2008)。當一個人要求控制變數(例如,尋找與抑鬱程度有關的關係,控制年齡和性別)時,使用普通最小二乘線性回歸(Rao,2009),其中控制變數被包括在語言變數旁邊,作為協變數,結果是因變數。

離散DLA度量標準。雖然線性回歸在大多數情況下會產生有意義的結果,但對於離散或伯努利結果通常理想的是使用其他指標。邏輯回歸可以用在線性回歸的地方,假設一個二分類結果,統計意義測試通常更準確(Menard,2002)。不需要控制的地方,還有很多其他的選擇,通常更少的計算複雜如TF-IDF、狄利克雷先驗信息 (貝葉斯方法對數幾率(Monroeet al., 2008))或分類精度指標如ROC曲線下的面積(Fawcett,2006)。

多重假設檢驗。大多數指標都有相應的標準意義測試(例如,皮爾遜相關和OLS回歸的學生t檢驗),以及大多數默認的輸出置信區間。在許多沒有標準意義測試的指標都實現了費舍爾組合檢驗,如AUC-ROC中,其語言特徵向量與結果(如果適用)進行多次比較,以創建一個null分布。DLA的標準實踐(Schwartz等人,2013b)是將每個潛在的數千個特性(例如,一個單數或多字表達的標準化用法)與給定的結果相關聯。因此,糾正多重比較是至關重要的。在通過介面腳本使用時,DLATK默認使用了FDR校正的Benjamini-Hochberg方法進行了多次比較(Benjaminiand Hochberg, 1995)。其他選擇,如更保守的Bonferroni校正(Dunn,1961)也可用。

4 預測方法

與傳統的NLP一樣,許多社會科學研究目標可以被框定為預測任務,其中一個模型適合於語言特徵來預測結果。DLATK實現了許多可用的回歸和分類工具,並輔以特徵選擇函數來精選特性空間。大量的特徵選擇技術已經被經驗的提煉,以準確地應用於回歸問題。

特徵選擇。DLATK的分類預測器ClassifyPredictor和回歸預測器RegressionPredictor類包括特徵選擇的方法,這是非常重要的,因為它可能是一個很大的語言特徵空間,例如,在一個語料庫中,成千上萬的1元到3元文法。這兩個類都允許通過scikitlearn方法(例如基於特徵相關性的單變數特性選擇)和維度減少方法(例如,特徵矩陣上的主成分分析PCA),包括FS和DR步驟以串列方式應用於原始數據的組合方法。

回歸模型。DLATK支持多種回歸模型,以獲取特徵以及額外的語言信息,並輸出連續的值預測。這些包括在懲罰線性回歸的變體:嶺回歸(RidgeRegression)、最小絕對收縮與選擇運算元(LASSO)、彈性網路(ElasticNet)以及非線性技術,如極端隨機森林。一種常見的方法,稱為「神奇醬」,將單變數特徵選擇和PCA應用於獨立於控制的語言特性,然後使用ridge從一個組合減少空間將一個線性模型擬合到輸出結果。

分類模型。DLATK實現了多種類型的分類器,包括邏輯回歸和支持向量分類器(L1和L2正則化)、集成和梯度增強技術(如極端隨機樹)。與回歸一樣,技術已經建立起來,以便有效地利用額外的語言信息作為額外的預測或控制來試圖「-超出預測」。


5 主要功能

語言信息由於DLATK的設計目的是利用社交媒體的全部功能,因此使用了一種特殊的表情符號分詞器,同時還利用了Python的unicode功能。雖然DLATK不是專門為語言獨立設計的,但它已經被用於一項非英語的研究(Smithet al .,2016)。

語言外信息DLATK的大部分功能都是用額外的語言設計的,也被稱為「結果」。這些信息包括社交媒體帖子的元信息,如時間或地點,到用戶屬性,比如人口統計或人們可能希望預測強大的基線。對於DLA來說,這意味著一個人不僅能區分目標之外的信息,而且還能控制這些信息。對於預測,額外的語言信息可以作為模型的輸入,考慮到這樣一個事實,這些特徵通常比單獨的語言特徵更少的稀疏和更可靠的特徵。

多層次的分析DLATK允許一個人用單個語料庫在多個層次分析中工作,簡單地作為一個參數來處理任何動作。例如,一個人可以選擇分析推文本身,或者根據用戶ID、位置,甚至是用戶和日期的組合來分組。額外的語言信息通常會影響特定的分析層次(例如團體層次的死亡率或用戶層次的性格問卷反應)。分析設置對分析層次是靈活的,例如,一個人可以動態為可用的分析單元設置閾值(例如,只包含至少1000個單詞的用戶或有5萬個單詞的縣)。

集成的流行包DLATK坐落在許多流行的用於數據分析和機器學習(scikitlearn(Pedregosa et al .,2011)和statsmodels(Seabold和Perktold,2010))以及NLP特定包(斯坦福解析器(陳和曼寧,2014),TweetNLP (Gimpel et al .,2011)和NLTK(Loperand Bird, 2002))等開源軟體包之上。LDA主題可以用Mallet(McCallum,2002)介面創建。在創建這些主題之後,可以在下游任何標準的DLATK分析方法中使用。pip和conda包管理系統控制python庫依賴關係。

交互使用與DLATK交互的標準方法是通過命令行與介面腳本進行交互。通常用戶只會看到兩個端點(文檔輸入和分析輸出),結果這個包被用作「黑盒」。為了鼓勵數據挖掘,特徵星FeatureStar類將語言特徵和額外的語言信息轉換為熊貓數據幀Pandasdataframes(McKinney, 2011),允許用戶將我們的方法導入到現有的代碼中。簡單的用例包括打開預測模型來探索特徵係數,並輕鬆地將語言數據讀取到標準數據可視化工具中。

可視化在運行DLA時,我們經常會對成千上萬的語言特性進行單獨的關聯。雖然一個單詞可能不會讓我們深刻地了解我們的語言之外的信息組,但它們常常可以講述一個引人注目的故事。為此,DLATK以n-gram和主題雲圖的形式提供詞雲輸出。圖2顯示1元-元與(a)年齡顯著相關(陽性;高年齡),(b)年齡(陰性;低年齡);(c)教育家職業;(d)技術職業。這是在與DLATK打包的博客作者身份語料庫(Schleret al.,2006)上運行的。在這裡,顏色代表語料庫中的詞頻(灰色到紅色代表不常出現到經常出現),大小代表相關強度。

圖2 1元-3元與年齡和職業有關

與社會科學的工具比較在社會科學中,傳統的文本分析程序是基於字典(與特定的心理「構想」或語言類別相關的辭彙列表,如「積極情緒」或對工作和職業術語的引用)。根據引用,最流行的工具是語言調查和辭彙計數(LIWC)(Pennebaker et al.,2015),接著是DICTION(Hart,1984)和GeneralInquirer(Stone et al.,1966)。對於給定的文檔,這些程序提供了字典中出現術語的相對頻率。字典的使用有一個優點,即在給定的文本示例中,它們提供了相對比較簡潔的語言,並且其結果在研究中具有可比性。

DLATK還重新生成了基於字典的方法的功能。然而,字典通常是不透明的分析單位,因為它們的整體頻率是由一些高度頻繁的單詞決定的。如果這些話是模稜兩可的話,基於字典的結果的解釋可能會誤導人(施瓦茨等人,2013a)。DLATK允許確定驅動給定字典類別的單詞,它還可以根據在ngrams上的預測模型上生成數據驅動的詞典,甚至可以在給定的字典類別中找到與之相關的單詞。

DLATK可以為研究人員提供足夠的信息來產生假設,並闡明一個構念的「基則網nomologicalnet」(Cronbach and Meehl,1955);也就是說,幫助確定與調查結果相關的(足夠相關)心理和社會過程和構念。此外,DLATK在預測測試中包含了語言特性和控制,這一事實使研究人員能夠評估構,與有意義的展示圖標或社會經濟基線相比,在語言中捕獲了多少與構想相關的方差。


6 評估

DLATK作為一個數據分析平台,在30多個同行評議的出版物中,從一般興趣(PLoSONE: Schwartz等,2013b)到計算機科學方法程序 (EMNLP: Sap et al.,2014)到心理學期刊(JPSP:Park et al.,2015)。

DLATK最直接的用法是提供與給定結果相關的語言特性的見解,這是Schwartz等人(2013b)所提供的DLA。其他主要使用DLATK進行相關類型分析的工作,主要檢查結果如年齡(Kernet al .,2014b),性別語言和刻板印象(Parket al .,2016;Carpenter et al .,2016b),以及基於app的幸福感干預的功效(Carpenteret al .,2016a)。

另一個可以評估DLATK效用的領域是建立預測模型。表1總結了在同行評審的出版物中報告的一些預測模型。DLATK致力於在多個尺度上創建模型,即用於預測單個消息方面(例如,tweet-wise時空定向;Schwartzet al.,2015),或預測用戶級屬性(例如,嚴重的抑鬱症;Schwartzet al.,2014),或預測團體層面的健康結果(例如,心臟病死亡率;Eichstaedtet al .,2015)。

表1 在同行評審的出版物中使用DLATK訓練的預測模型分數的調查。分數報告為:R:皮爾遜相關;Acc:精度;AUC:ROC曲線下的面積。


7 結論

DLATK已經開發了五年多了。我們已經討論了它的一些核心功能,包括對額外語言特性的支持、多層次的分析和連續的變數。然而,它最大的好處可能是靈活性和可靠性,因為多年來對幾十個項目進行了改進。我們希望DLATK成為那些試圖了解語言使用者生活中的社會、心理和健康因素的表現的研究人員的一個多用途的「瑞士軍刀」。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 讀芯術 的精彩文章:

武漢大學、阿里巴巴:一種用於零樣本文檔過濾的深度相關性模型

TAG:讀芯術 |