社會科學的文本分析:R的應用(第1版)
活動訊息
內容簡介
⊙系統化學習路徑
從文本分析基礎概念、語料庫結構探索、文本資料視覺化,到聚類辨識文本相似性、情感分析與機器學習,循序漸進,逐步搭建完整框架。
⊙理論結合實作
透過豐富案例與步驟式操作指南,引導讀者使用R及quanteda等套件,立即動手建立可複製的文本分析工作流程。
⊙橫跨社科、文學與商業
聚焦「以問題為導向」的應用場景,協助研究者與實務工作者有效解讀文本數據,洞察人類行為與社會脈動。
在數據驅動的時代,文本分析是揭示人類語言奧祕的關鍵方法。本書以R與quanteda生態系為核心,示範如何從語料庫中挖掘模式、趨勢與洞見,助力學術研究,也為政策、商業與社會決策提供實證基礎。
全書循序漸進:
1. 語料庫結構與預處理:分詞、N-gram、TF-IDF等基礎技術。
2. 聚類與相似性分析:以階層與K-means等方法刻畫文本關係。
3. 情感分析與機器學習:結合SVM、隨機森林等模型,完成精細分類與預測。
每章均附完整R程式碼、真實案例與圖形化流程,讀者可即學即用,迅速將方法轉化為學術或業界成果。
從文本分析基礎概念、語料庫結構探索、文本資料視覺化,到聚類辨識文本相似性、情感分析與機器學習,循序漸進,逐步搭建完整框架。
⊙理論結合實作
透過豐富案例與步驟式操作指南,引導讀者使用R及quanteda等套件,立即動手建立可複製的文本分析工作流程。
⊙橫跨社科、文學與商業
聚焦「以問題為導向」的應用場景,協助研究者與實務工作者有效解讀文本數據,洞察人類行為與社會脈動。
在數據驅動的時代,文本分析是揭示人類語言奧祕的關鍵方法。本書以R與quanteda生態系為核心,示範如何從語料庫中挖掘模式、趨勢與洞見,助力學術研究,也為政策、商業與社會決策提供實證基礎。
全書循序漸進:
1. 語料庫結構與預處理:分詞、N-gram、TF-IDF等基礎技術。
2. 聚類與相似性分析:以階層與K-means等方法刻畫文本關係。
3. 情感分析與機器學習:結合SVM、隨機森林等模型,完成精細分類與預測。
每章均附完整R程式碼、真實案例與圖形化流程,讀者可即學即用,迅速將方法轉化為學術或業界成果。
目錄
第1章 文本分析簡介
什麼是文本分析?
透過文本洞察力提取數據
結語
文本分析工作流程
原始文本
矩陣表示
分析
準備:練習使用R進行文本分析
步驟1:載入quanteda套件
步驟2:使用print()探索語料庫
步驟3:使用tokens()對語料庫進行字元化處理
步驟4:使用dfm()創建文檔-特徵矩陣
步驟 5:使用textplot_wordcloud()創建文字雲
第1章總結
第2章 探索語料庫的結構
步驟1:載入quanteda
步驟2:檢視語料庫並提取文件變數
步驟3:使用SOTU語料庫重現分析
詞彙字元化
步驟1:載入quanteda
步驟2:對語料庫進行詞彙字元化處理
步驟3:使用kwic()探索字元化的語料庫
在R中創建文檔-特徵矩陣
步驟1:載入quanteda
步驟2:對語料庫進行字元化處理
步驟3:創建文檔-特徵矩陣
步驟4:選擇dfm特徵
第2章總結
第3章 文本數據的視覺化呈現
條形圖
詞彙分布圖
關鍵度繪圖
相關描述性統計
摘要統計
頻率
可讀性
詞彙多樣性
關鍵詞分析
步驟1:載入套件
步驟2:對語料庫進行字元化處理
步驟3:創建文檔-特徵矩陣
步驟4:執行命令獲取摘要統計資料
步驟5:將匯總統計資料轉換為相關的視覺化圖形
第3章總結
第4章 在R中應用聚類技術識別文本相似性
視覺化聚類算法
K-均值聚類
選擇一個K值
手肘法
層次聚類
終止點的確認
樹狀圖
方法比較
計算R中的二元統計量
步驟1:加載套件和語料庫
步驟2:字元化並創建文檔-特徵矩陣
步驟3:使用textstat_simil()進行相似度計算
步驟4:使用textstat_dist()進行距離計算
聚類美國總統演講
步驟1:加載套件和語料庫
步驟2:字元化並創建文檔-特徵矩陣
步驟3:K-均值聚類和層次聚類
繪製距離和K-均值聚類
繪製層次聚類
第4章總結
第5章 情感分析
情感分析工作流程
執行情感分析
步驟1:載入和探索語料庫
步驟2:對資料進行字元化
步驟3:識別極端文本中最常見的單詞
步驟4:應用情感詞典進行情感分析
步驟5:情感分析
步驟6:視覺化
第5章總結
第6章 機器學習
分類的應用案例
單純貝氏分類模型
線性支援向量機(Linear Support Vector Machines)
混淆矩陣(Confusion Matrix)
評估R中的分類模型
步驟1:載入套件和語料庫
步驟2:對資料進行字元化並創建dfm
步驟3:創建訓練集和測試集
步驟4:擬合單純貝氏分類器
步驟5:進行準確性測試
步驟6:進行交叉驗證
第6章總結
第7章 結論與未來研究展望
旅程回顧
實踐之旅
展望未來
第7章總結
第8章 附件:R指令整理
第1章:文本分析簡介
1. 基本操作函數
2. quanteda套件函數
第2章:探索語料庫的結構
1. 語料庫處理
2. 字元化處理
3. 關鍵詞文脈分析(KWIC)
4. 文檔-特徵矩陣(DFM)
5. 其他分析與應用
第3章:文本數據的視覺化呈現
1. 文字雲相關函數
2. 條形圖與相關統計函數
3. 詞彙分布與關鍵度繪圖函數
4. 可視化繪圖函數
第4章:在R中應用聚類技術識別文本相似性
1. 文本預處理相關函數
2. 相似性與距離計算函數
3. K-均值聚類相關函數
4. 層次聚類相關函數
5. 視覺化繪圖相關函數
第5章:情感分析
1. 載入與探索語料庫相關指令
2. 資料字元化相關指令
3. 文檔-特徵矩陣(DFM)操作相關指令
4. 關鍵字和文字雲相關指令
5. 情感詞典相關指令
6. 資料框轉換與操作指令
7. 視覺化相關指令
第6章:機器學習
1. 載入與探索數據相關指令
2. 資料分割與訓練測試集相關指令
3. 單純貝氏分類相關指令
4. 支援向量機(SVM)相關指令
5. 模型性能評估相關指令
6. 交叉驗證相關指令
7. 可視化相關指令
什麼是文本分析?
透過文本洞察力提取數據
結語
文本分析工作流程
原始文本
矩陣表示
分析
準備:練習使用R進行文本分析
步驟1:載入quanteda套件
步驟2:使用print()探索語料庫
步驟3:使用tokens()對語料庫進行字元化處理
步驟4:使用dfm()創建文檔-特徵矩陣
步驟 5:使用textplot_wordcloud()創建文字雲
第1章總結
第2章 探索語料庫的結構
步驟1:載入quanteda
步驟2:檢視語料庫並提取文件變數
步驟3:使用SOTU語料庫重現分析
詞彙字元化
步驟1:載入quanteda
步驟2:對語料庫進行詞彙字元化處理
步驟3:使用kwic()探索字元化的語料庫
在R中創建文檔-特徵矩陣
步驟1:載入quanteda
步驟2:對語料庫進行字元化處理
步驟3:創建文檔-特徵矩陣
步驟4:選擇dfm特徵
第2章總結
第3章 文本數據的視覺化呈現
條形圖
詞彙分布圖
關鍵度繪圖
相關描述性統計
摘要統計
頻率
可讀性
詞彙多樣性
關鍵詞分析
步驟1:載入套件
步驟2:對語料庫進行字元化處理
步驟3:創建文檔-特徵矩陣
步驟4:執行命令獲取摘要統計資料
步驟5:將匯總統計資料轉換為相關的視覺化圖形
第3章總結
第4章 在R中應用聚類技術識別文本相似性
視覺化聚類算法
K-均值聚類
選擇一個K值
手肘法
層次聚類
終止點的確認
樹狀圖
方法比較
計算R中的二元統計量
步驟1:加載套件和語料庫
步驟2:字元化並創建文檔-特徵矩陣
步驟3:使用textstat_simil()進行相似度計算
步驟4:使用textstat_dist()進行距離計算
聚類美國總統演講
步驟1:加載套件和語料庫
步驟2:字元化並創建文檔-特徵矩陣
步驟3:K-均值聚類和層次聚類
繪製距離和K-均值聚類
繪製層次聚類
第4章總結
第5章 情感分析
情感分析工作流程
執行情感分析
步驟1:載入和探索語料庫
步驟2:對資料進行字元化
步驟3:識別極端文本中最常見的單詞
步驟4:應用情感詞典進行情感分析
步驟5:情感分析
步驟6:視覺化
第5章總結
第6章 機器學習
分類的應用案例
單純貝氏分類模型
線性支援向量機(Linear Support Vector Machines)
混淆矩陣(Confusion Matrix)
評估R中的分類模型
步驟1:載入套件和語料庫
步驟2:對資料進行字元化並創建dfm
步驟3:創建訓練集和測試集
步驟4:擬合單純貝氏分類器
步驟5:進行準確性測試
步驟6:進行交叉驗證
第6章總結
第7章 結論與未來研究展望
旅程回顧
實踐之旅
展望未來
第7章總結
第8章 附件:R指令整理
第1章:文本分析簡介
1. 基本操作函數
2. quanteda套件函數
第2章:探索語料庫的結構
1. 語料庫處理
2. 字元化處理
3. 關鍵詞文脈分析(KWIC)
4. 文檔-特徵矩陣(DFM)
5. 其他分析與應用
第3章:文本數據的視覺化呈現
1. 文字雲相關函數
2. 條形圖與相關統計函數
3. 詞彙分布與關鍵度繪圖函數
4. 可視化繪圖函數
第4章:在R中應用聚類技術識別文本相似性
1. 文本預處理相關函數
2. 相似性與距離計算函數
3. K-均值聚類相關函數
4. 層次聚類相關函數
5. 視覺化繪圖相關函數
第5章:情感分析
1. 載入與探索語料庫相關指令
2. 資料字元化相關指令
3. 文檔-特徵矩陣(DFM)操作相關指令
4. 關鍵字和文字雲相關指令
5. 情感詞典相關指令
6. 資料框轉換與操作指令
7. 視覺化相關指令
第6章:機器學習
1. 載入與探索數據相關指令
2. 資料分割與訓練測試集相關指令
3. 單純貝氏分類相關指令
4. 支援向量機(SVM)相關指令
5. 模型性能評估相關指令
6. 交叉驗證相關指令
7. 可視化相關指令
序/導讀
在多年於大學的學術耕耘後,我渴望將累積的專業知識凝鍊並分享。觀察到在臺灣充滿活力的教學景觀中,雙語教育的蓬勃發展,我撰寫資源書的動機也因此逐漸成形。《社會科學的文本分析:R的應用》不僅僅是一本教科書,也是一座橋梁,將量化分析的實證的嚴謹性與質性研究的細膩見解連接,特別是在我專業旅程深深扎根的英語教育領域中。在這本書中,我旨在透過R這一統計軟體的運用來展開文本分析在社會科學上的應用。本書所展示的分析實例均以英語文本為示例,希冀能與雙語教育實踐工作建立實質聯繫,讓臺灣的高等教育能進一步提升。
我的目標是要揭開英語文本分析過程的神祕面紗,使它對於像我一樣相信語言教育轉變力量的教育工作者和研究人員變得容易接近與上手。透過將方法論基礎與實際應用相結合,本書為探究語言模式與質性資料詮釋的社會科學研究者提供指引。當前時代精神,對雙語能力的強調,突顯了這樣一部作品的及時性。隨著臺灣擁抱這一教育趨勢,迫切需要資源來賦予本地和國際學者在他們的研究中進行有系統的英文文本分析。無論是分析課堂話語、政策文件還是數位文本,本書將為讀者提供工具,以豐富語言數據可能存在的錦繡。這項工作將注入我對語言與社會交叉性的反思,這些反思來自於豐富的課堂經驗和研究努力的思維。我真誠地希望這本書不僅能成為我堅持的學術和教育價值的見證,而且還能激發教育者之間的對話,激活課程,並提升英語教育全範疇的教學實踐。
在《社會科學的文本分析:R的應用》一書中,我們首先介紹文本分析的基本概念,探討如何透過資料提取洞察文本背後的資訊。透過詳細的工作流程說明,從原始文本到矩陣表示的轉化,本書為讀者提供了一個明確的起點,同時,透過實際操作教程,引導讀者熟練使用R進行文本分析,包括如何載入必要的R套件以及創建文檔 - 特徵矩陣和詞雲。
第2章深入探索語料庫的結構,透過quanteda套件的應用,展示了如何提取和分析文檔變數。透過實用的步驟和示例(例如:國情咨文語料庫的分析),本書不僅教會讀者如何處理和分析文本資料,還展示了文本預備處理的關鍵技巧,包括詞彙分詞和詞幹提取,為後續的深入分析打下基礎。
在討論文本資料視覺化的第3章中,我們介紹了多種將文本資料轉化為直觀圖表的方法,包括詞雲與橫條圖等。透過關鍵字分析和描述性統計,本章不僅說明讀者理解文本資料的頻率和多樣性,還透過高級繪圖工具如ggplot(),展示了如何以視覺化形式呈現資料分析結果。
第4章應用聚類技術識別文本相似性,詳細講述了如何使用R中的聚類演算法,如K-均值聚類,以及如何計算和視覺化文本相似度和距離。以聚類分析美國總統演講和Tripadvisor評論為案例,本章向讀者展示了如何從大量文本資料中識別相似性和模式。
在第5章中,我們深入情感分析,探討如何使用情感詞典對文本進行情緒識別和分析。本章透過逐步指導讀者如何載入語料庫,進行分詞處理,識別情緒傾向,並將分析結果透過各種視覺化方法呈現,使讀者能夠理解並應用情感分析在文本研究中的價值。
最後,第6章關注機器學習在文本分析中的應用,討論了分類模型,如單純貝氏和支援向量機。透過詳細介紹模型評估方法,包括準確率和交叉驗證等,本章為讀者奠定了堅實的基礎,以利用機器學習技術處理和分析文本資料。
《社會科學的文本分析:R的應用》是一本旨在將理論與實踐緊密結合的指南,透過實際的R語言示例,為讀者在文本分析領域的探索提供了堅實的支援。無論是學術研究還是教育應用,本書都是那些渴望深入了解如何透過R進行有效文本分析的人的寶貴資源。最後,我衷心感謝臺科大的張芷芩同學,她對每一章節的細心編輯和深度校對,對本書的可讀性和品質產生了極大的提升。在這個過程中,張芷芩同學不僅以她敏銳的洞察力和專業的編輯技巧,精細地審閱了文本的每一個角落,還以批判性的思維方式,對內容進行了深思熟慮的回饋和建議。她的卓越貢獻不僅體現在文字的流暢與準確上,更在於她幫助本書更好地與讀者建立連接,使其內容更加貼近讀者的需求和期待。同時,我也要誠摯感謝臺科大鄭兆翔同學,他在本書的製作過程中協助完成了圖片校正工作,確保所有圖像資料的準確性與清晰度。此外,他也統整並彙編了本書所使用的R語言指令表,協助我撰寫書末附件部分,讓本書在操作層面上更加完整與實用。他的細心與耐心大幅提升了本書的整體結構與工具性價值,這份貢獻值得高度肯定。
此外,我也要向五南出版社侯家嵐主編表達我最誠摯的感謝,感謝她對我完成這本書之能力的堅定信任,以及她在編輯本書每一章節細節方面提供的寶貴建議。她的指導如同一盞明燈,照亮了我完成高質量出版物這一旅程的道路。對於張芷芩同學、鄭兆翔同學與侯家嵐主編,你們的貢獻是無法衡量的。謝謝你們的信任、支持與對卓越品質的不懈追求。
我的目標是要揭開英語文本分析過程的神祕面紗,使它對於像我一樣相信語言教育轉變力量的教育工作者和研究人員變得容易接近與上手。透過將方法論基礎與實際應用相結合,本書為探究語言模式與質性資料詮釋的社會科學研究者提供指引。當前時代精神,對雙語能力的強調,突顯了這樣一部作品的及時性。隨著臺灣擁抱這一教育趨勢,迫切需要資源來賦予本地和國際學者在他們的研究中進行有系統的英文文本分析。無論是分析課堂話語、政策文件還是數位文本,本書將為讀者提供工具,以豐富語言數據可能存在的錦繡。這項工作將注入我對語言與社會交叉性的反思,這些反思來自於豐富的課堂經驗和研究努力的思維。我真誠地希望這本書不僅能成為我堅持的學術和教育價值的見證,而且還能激發教育者之間的對話,激活課程,並提升英語教育全範疇的教學實踐。
在《社會科學的文本分析:R的應用》一書中,我們首先介紹文本分析的基本概念,探討如何透過資料提取洞察文本背後的資訊。透過詳細的工作流程說明,從原始文本到矩陣表示的轉化,本書為讀者提供了一個明確的起點,同時,透過實際操作教程,引導讀者熟練使用R進行文本分析,包括如何載入必要的R套件以及創建文檔 - 特徵矩陣和詞雲。
第2章深入探索語料庫的結構,透過quanteda套件的應用,展示了如何提取和分析文檔變數。透過實用的步驟和示例(例如:國情咨文語料庫的分析),本書不僅教會讀者如何處理和分析文本資料,還展示了文本預備處理的關鍵技巧,包括詞彙分詞和詞幹提取,為後續的深入分析打下基礎。
在討論文本資料視覺化的第3章中,我們介紹了多種將文本資料轉化為直觀圖表的方法,包括詞雲與橫條圖等。透過關鍵字分析和描述性統計,本章不僅說明讀者理解文本資料的頻率和多樣性,還透過高級繪圖工具如ggplot(),展示了如何以視覺化形式呈現資料分析結果。
第4章應用聚類技術識別文本相似性,詳細講述了如何使用R中的聚類演算法,如K-均值聚類,以及如何計算和視覺化文本相似度和距離。以聚類分析美國總統演講和Tripadvisor評論為案例,本章向讀者展示了如何從大量文本資料中識別相似性和模式。
在第5章中,我們深入情感分析,探討如何使用情感詞典對文本進行情緒識別和分析。本章透過逐步指導讀者如何載入語料庫,進行分詞處理,識別情緒傾向,並將分析結果透過各種視覺化方法呈現,使讀者能夠理解並應用情感分析在文本研究中的價值。
最後,第6章關注機器學習在文本分析中的應用,討論了分類模型,如單純貝氏和支援向量機。透過詳細介紹模型評估方法,包括準確率和交叉驗證等,本章為讀者奠定了堅實的基礎,以利用機器學習技術處理和分析文本資料。
《社會科學的文本分析:R的應用》是一本旨在將理論與實踐緊密結合的指南,透過實際的R語言示例,為讀者在文本分析領域的探索提供了堅實的支援。無論是學術研究還是教育應用,本書都是那些渴望深入了解如何透過R進行有效文本分析的人的寶貴資源。最後,我衷心感謝臺科大的張芷芩同學,她對每一章節的細心編輯和深度校對,對本書的可讀性和品質產生了極大的提升。在這個過程中,張芷芩同學不僅以她敏銳的洞察力和專業的編輯技巧,精細地審閱了文本的每一個角落,還以批判性的思維方式,對內容進行了深思熟慮的回饋和建議。她的卓越貢獻不僅體現在文字的流暢與準確上,更在於她幫助本書更好地與讀者建立連接,使其內容更加貼近讀者的需求和期待。同時,我也要誠摯感謝臺科大鄭兆翔同學,他在本書的製作過程中協助完成了圖片校正工作,確保所有圖像資料的準確性與清晰度。此外,他也統整並彙編了本書所使用的R語言指令表,協助我撰寫書末附件部分,讓本書在操作層面上更加完整與實用。他的細心與耐心大幅提升了本書的整體結構與工具性價值,這份貢獻值得高度肯定。
此外,我也要向五南出版社侯家嵐主編表達我最誠摯的感謝,感謝她對我完成這本書之能力的堅定信任,以及她在編輯本書每一章節細節方面提供的寶貴建議。她的指導如同一盞明燈,照亮了我完成高質量出版物這一旅程的道路。對於張芷芩同學、鄭兆翔同學與侯家嵐主編,你們的貢獻是無法衡量的。謝謝你們的信任、支持與對卓越品質的不懈追求。
試閱
第1章 文本分析簡介
準備:練習使用R進行文本分析
在本節的練習活動中,我們將使用R語言的quanteda套件進行文本分析的準備。本節使用的範例文本為美國總統的就職演說。
每個程式碼區塊前都有解釋文字。我們需要閱讀這些文字並自行執行每個步驟的程式碼。程式碼中使用的語法和標點符號會影響R中命令的功能,因此將它們記錄下來是很重要的。
步驟1:載入quanteda套件
首先,使用library()函數載入每個會話中所使用的套件。library()函數會在預先安裝的套件庫中尋找指定套件的名稱。因此,我們必須先安裝該套件,然後才能使用library()函數載入它。載入套件後,將其命名空間附加到當前會話,使我們可以使用套件中的所有功能。在載入quanteda套件時,可以使用tokens()參數和其他資料物件,如美國總統就職演說語料庫(data_corpus_inaugural)。語料庫是一個資料物件,包含演說的內容。
第一次載入套件時,輸出會顯示我們所使用的版本。因此,quanteda套件的版本應該≥3.0。
步驟2:使用print()探索語料庫
現在我們可以存取美國總統就職演說語料庫,這是quanteda套件中的一個語料庫(文本數據集)。可以執行data(package="quanteda")來查看quanteda套件中的五個數據集。透過對資料物件(即語料庫)執行print()函數,我們可以看到資料物件的簡要摘要,包括文檔數量和文檔內的變數。摘要中列出了每個文檔的標題,以年分為開頭,接著是演講的總統,以及每個項目的第一行。這個語料庫是quanteda套件的一部分,因此我們只需引用它的名稱data_corpus_inaugural即可。
讓我們來探索一個內置的語料庫物件,這個物件將在本書許多示例中使用到。這個語料庫稱為data_corpus_inaugural,使用單詞「data」告訴我們這是一個數據物件。名稱的第二部分「corpus」告訴我們這是一個語料庫數據類型。名稱的第三部分「inaugural」表示該語料庫包含了就職演講。在Quanteda中,為每個特殊類型的物件定義了輸出方法,當我們輸出它時,會得到一些摘要資訊,讓我們對物件有些微的了解,了解它包含的一些資訊。在這種情況下,它包含了59個文檔。它顯示了前6個文檔的片段。它還告訴我們還有53個文檔沒有完整顯示。在頂部,它還告訴我們有4個文檔變量,或者說文檔級別的詮釋資料。
步驟3:使用tokens()對語料庫進行字元化處理
現在我們可以嘗試對語料庫進行字元化。再次使用print()函數,檢查新建的tokens物件中前幾個文檔的前幾個字元。字元(token)是一系列以有意義的語意單位(如單詞和命名實體)為組的字符序列,通常以空格隔開。透過使用tokens()函數將字元化的語料庫賦值給新建的物件(在本例中為toks),可以使用物件名(即toks)檢索該物件。在這種情況下,物件是要執行該函數的語料庫。
我們可以使用tokens函數對這個語料庫進行字元化。當我們執行這個代碼塊並列印結果時,我們可以看到物件已被字元化,透過將它們根據分隔不同單詞、標點符號、數字等的空格進行分割。以字符向量的形式顯示了由tokens命令字元化或分割的字元。並提醒我們在這個物件中有4個文檔變量。這些文檔變量存在語料庫中,在tokens物件中也存在。
步驟4:使用dfm()創建文檔-特徵矩陣
現在我們可以運用這個tokens物件使用dfm()函數來創建文檔-特徵矩陣(dfm)。dfm編譯了語料庫中字元類型和文檔的計數。關於dfm的具體內容,我們將在第2章中進一步了解。
為了使用dfm命令創建一個文檔-特徵矩陣,我們需要先使用tokens命令將物件進行字元化。在這種情況下,我們將其賦值給toks。我們可以將這個dfm物件賦值給DFmat。然後我們可以列印它,這會調用quanteda的一個特殊方法,給我們展示從dfm命令創建的矩陣物件的一小部分。再次,它告訴我們有59個文檔和4個文檔變量。9,437個特徵告訴我們這些字元現在成為了我們矩陣的列,我們稱之為特徵。我們可以看到列印出的前10個特徵。特徵本身是跨越矩陣頂部列的標簽。文檔的名稱是我們在矩陣左側看到的欄名。在顯示中,由於不能將所有10個特徵放在一行上,所以它們被簡單地換行。在底部,再次提醒我們還有53個文檔沒有顯示出來,另外9,427個特徵也沒有顯示。
91.84%的稀疏度表示在這個矩陣中有91.84%的單元格為空。例如:1793年的華盛頓演講中沒有使用「fellow citizens」這個詞,儘管他1789年的演講中使用了這個詞。quanteda中的稀疏矩陣特性讓單元格的計數為零時,我們不必記錄任何內容。透過將其記錄為稀疏矩陣,而不是密集矩陣,我們能夠節省91.84%的存儲空間。這也使得處理速度更快。
準備:練習使用R進行文本分析
在本節的練習活動中,我們將使用R語言的quanteda套件進行文本分析的準備。本節使用的範例文本為美國總統的就職演說。
每個程式碼區塊前都有解釋文字。我們需要閱讀這些文字並自行執行每個步驟的程式碼。程式碼中使用的語法和標點符號會影響R中命令的功能,因此將它們記錄下來是很重要的。
步驟1:載入quanteda套件
首先,使用library()函數載入每個會話中所使用的套件。library()函數會在預先安裝的套件庫中尋找指定套件的名稱。因此,我們必須先安裝該套件,然後才能使用library()函數載入它。載入套件後,將其命名空間附加到當前會話,使我們可以使用套件中的所有功能。在載入quanteda套件時,可以使用tokens()參數和其他資料物件,如美國總統就職演說語料庫(data_corpus_inaugural)。語料庫是一個資料物件,包含演說的內容。
第一次載入套件時,輸出會顯示我們所使用的版本。因此,quanteda套件的版本應該≥3.0。
步驟2:使用print()探索語料庫
現在我們可以存取美國總統就職演說語料庫,這是quanteda套件中的一個語料庫(文本數據集)。可以執行data(package="quanteda")來查看quanteda套件中的五個數據集。透過對資料物件(即語料庫)執行print()函數,我們可以看到資料物件的簡要摘要,包括文檔數量和文檔內的變數。摘要中列出了每個文檔的標題,以年分為開頭,接著是演講的總統,以及每個項目的第一行。這個語料庫是quanteda套件的一部分,因此我們只需引用它的名稱data_corpus_inaugural即可。
讓我們來探索一個內置的語料庫物件,這個物件將在本書許多示例中使用到。這個語料庫稱為data_corpus_inaugural,使用單詞「data」告訴我們這是一個數據物件。名稱的第二部分「corpus」告訴我們這是一個語料庫數據類型。名稱的第三部分「inaugural」表示該語料庫包含了就職演講。在Quanteda中,為每個特殊類型的物件定義了輸出方法,當我們輸出它時,會得到一些摘要資訊,讓我們對物件有些微的了解,了解它包含的一些資訊。在這種情況下,它包含了59個文檔。它顯示了前6個文檔的片段。它還告訴我們還有53個文檔沒有完整顯示。在頂部,它還告訴我們有4個文檔變量,或者說文檔級別的詮釋資料。
步驟3:使用tokens()對語料庫進行字元化處理
現在我們可以嘗試對語料庫進行字元化。再次使用print()函數,檢查新建的tokens物件中前幾個文檔的前幾個字元。字元(token)是一系列以有意義的語意單位(如單詞和命名實體)為組的字符序列,通常以空格隔開。透過使用tokens()函數將字元化的語料庫賦值給新建的物件(在本例中為toks),可以使用物件名(即toks)檢索該物件。在這種情況下,物件是要執行該函數的語料庫。
我們可以使用tokens函數對這個語料庫進行字元化。當我們執行這個代碼塊並列印結果時,我們可以看到物件已被字元化,透過將它們根據分隔不同單詞、標點符號、數字等的空格進行分割。以字符向量的形式顯示了由tokens命令字元化或分割的字元。並提醒我們在這個物件中有4個文檔變量。這些文檔變量存在語料庫中,在tokens物件中也存在。
步驟4:使用dfm()創建文檔-特徵矩陣
現在我們可以運用這個tokens物件使用dfm()函數來創建文檔-特徵矩陣(dfm)。dfm編譯了語料庫中字元類型和文檔的計數。關於dfm的具體內容,我們將在第2章中進一步了解。
為了使用dfm命令創建一個文檔-特徵矩陣,我們需要先使用tokens命令將物件進行字元化。在這種情況下,我們將其賦值給toks。我們可以將這個dfm物件賦值給DFmat。然後我們可以列印它,這會調用quanteda的一個特殊方法,給我們展示從dfm命令創建的矩陣物件的一小部分。再次,它告訴我們有59個文檔和4個文檔變量。9,437個特徵告訴我們這些字元現在成為了我們矩陣的列,我們稱之為特徵。我們可以看到列印出的前10個特徵。特徵本身是跨越矩陣頂部列的標簽。文檔的名稱是我們在矩陣左側看到的欄名。在顯示中,由於不能將所有10個特徵放在一行上,所以它們被簡單地換行。在底部,再次提醒我們還有53個文檔沒有顯示出來,另外9,427個特徵也沒有顯示。
91.84%的稀疏度表示在這個矩陣中有91.84%的單元格為空。例如:1793年的華盛頓演講中沒有使用「fellow citizens」這個詞,儘管他1789年的演講中使用了這個詞。quanteda中的稀疏矩陣特性讓單元格的計數為零時,我們不必記錄任何內容。透過將其記錄為稀疏矩陣,而不是密集矩陣,我們能夠節省91.84%的存儲空間。這也使得處理速度更快。
配送方式
-
台灣
- 國內宅配:本島、離島
-
到店取貨:
不限金額免運費
-
海外
- 國際快遞:全球
-
港澳店取:
訂購/退換貨須知
退換貨須知:
**提醒您,鑑賞期不等於試用期,退回商品須為全新狀態**
-
依據「消費者保護法」第19條及行政院消費者保護處公告之「通訊交易解除權合理例外情事適用準則」,以下商品購買後,除商品本身有瑕疵外,將不提供7天的猶豫期:
- 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮食品)
- 依消費者要求所為之客製化給付。(客製化商品)
- 報紙、期刊或雜誌。(含MOOK、外文雜誌)
- 經消費者拆封之影音商品或電腦軟體。
- 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書、電子雜誌、下載版軟體、虛擬商品…等)
- 已拆封之個人衛生用品。(如:內衣褲、刮鬍刀、除毛刀…等)
- 若非上列種類商品,均享有到貨7天的猶豫期(含例假日)。
- 辦理退換貨時,商品(組合商品恕無法接受單獨退貨)必須是您收到商品時的原始狀態(包含商品本體、配件、贈品、保證書、所有附隨資料文件及原廠內外包裝…等),請勿直接使用原廠包裝寄送,或於原廠包裝上黏貼紙張或書寫文字。
- 退回商品若無法回復原狀,將請您負擔回復原狀所需費用,嚴重時將影響您的退貨權益。
商品評價