在 tm 中擷取中繼資料
依你要達成的目標不同,你可能會希望在建立語料庫時保留文件的中繼資料。
若要擷取文件層級的中繼資料,欄位名稱與順序必須為:
doc_id-每個文件的唯一字串text-要分析的文字...-其他任何欄位都會自動被歸檔為中繼資料。
有時你需要重新命名欄位,才能符合 DataframeSource() 的需求。names() 函式在這方面很有用。
tweets 已存在於你的工作空間,為一個資料框,包含欄位「num」、「text」、「screenName」與「created」。
本練習屬於課程
R 的 Bag-of-Words 文本探勘
練習說明
- 將
tweets的第 1 欄重新命名為「doc_id」。 - 在較小的
tweets資料框上,用DataframeSource()設定文件綱要(schema)。 - 透過自訂的
clean_corpus()函式,將文件集建立為巢狀於其中的可揮發語料庫。 - 對第 1 筆推文使用 雙 中括號(例如
text_corpus[[1]])搭配content(),以檢視清理後的純文字。 - 使用 單 中括號在第 1 份文件上呼叫
meta()函式,確認所有中繼資料都已被擷取。
記住,當你存取語料庫的一部分時,使用雙中括號還是單中括號有差別!在本練習中,你會用 content() 搭配雙中括號,用 meta() 搭配單中括號。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Rename columns
___(tweets)[1] <- "___"
# Set the schema: docs
docs <- ___(___)
# Make a clean volatile corpus: text_corpus
text_corpus <- clean_corpus(___(___))
# Examine the first doc content
___(text_corpus[[___]])
# Access the first doc metadata
___(text_corpus[___])