文本無處不在,對社會科學家來說,它是一個極好的資源。然而,由於信息非常豐富,而且語言又是千變萬化的,通常很難提取出我們想要的信息。人工智慧的整個子領域與文本分析(自然語言處理)有關。開發的許多基本分析方法現在都可以作為Python實現使用。這本書將告訴您何時使用哪個方法、它如何工作的數學背景以及實現它的Python代碼。
概述:
今天,文本是我們生活中不可或缺的一部分,也是最豐富的信息來源之一。平均每天,我們閱讀約9000字,包括電子郵件、簡訊、新聞、博客文章、報告、推特,以及街道名稱和廣告。在你一生的閱讀過程中,這會讓你有大約2億字。這聽起來令人印象深刻(事實也的確如此),然而,我們可以在不到0.5 g的空間裡存儲這些信息:我們可以在u盤上隨身攜帶一生都值得閱讀的信息。在我寫這篇文章的時候,網際網路上估計至少有超過1200 TB的文本,或250萬人的閱讀價值。現在,大部分文本都以社交媒體的形式存在:微博、推特、Facebook狀態、Instagram帖子、在線評論、LinkedIn個人資料、YouTube評論等等。然而,文本即使在線下也是豐富的——季度收益報告、專利申請、問卷答覆、書面信函、歌詞、詩歌、日記、小說、議會會議記錄、會議記錄,以及成千上萬的其他形式,可以(也正在)用於社會科學研究和數據挖掘。
文本是一個極好的信息來源,不僅僅是因為它的規模和可用性。它(相對)是永久性的,而且——最重要的是——它對語言進行編碼。這一人類能力(間接地,有時甚至直接地)反映了廣泛的社會文化和心理結構:信任、權力、信仰、恐懼。因此,文本分析被用于衡量社會文化結構,如信任(Niculae, Kumar, Boyd-Graber, & danescul - niculescul - mizil, 2015)和權力(Prabhakaran, Rambow, & Diab, 2012)。語言編碼了作者的年齡、性別、出身和許多其他人口統計因素(Labov, 1972;Pennebaker, 2011;Trudgill, 2000)。因此,文本可以用來衡量社會隨著時間推移對這些目標概念的態度(見Garg, Schiebinger, Jurafsky, & Zou, 2018;Hamilton, Leskovec, & Jurafsky, 2016;Kulkarni, Al-Rfou, Perozzi, & Skiena, 2015)。
然而,這種海量數據可能很快就會讓人喘不過氣來,處理這些數據可能會讓人望而生畏。文本通常被稱為非結構化數據,這意味著它不是以電子表格的形式出現,而是整齊地按類別排列。它有不同的長度,如果不首先對其進行格式化,就不能很容易地將其送入您喜歡的統計分析工具。然而,正如我們將看到的,「非結構化」是一個有點用詞不當。文本絕不是沒有任何結構的——它遵循非常規則的結構,受語法規則的控制。如果你知道這些,理解文本就會變得容易得多。
這本書分成兩部分。在前半部分,我們將學習文本和語言的一些基本屬性——語言分析的層次、語法和語義成分,以及如何描述它們。我們還將討論為我們的分析刪除哪些內容,保留哪些內容,以及如何計算簡單、有用的統計數據。在下半部分,我們將著眼於探索,發現數據中的潛在結構。我們將從簡單的統計學習到更複雜的機器學習方法,如主題模型、詞嵌入和降維。
https://www.cambridge.org/core/elements/text-analysis-in-python-for-social-scientists/BFAB0A3604C7E29F6198EA2F7941DFF3
專知便捷查看
便捷下載,請關注專知公眾號(點擊上方藍色專知關注)