我和朋友正在努力將我們收集的一些tweets轉換爲dtm,以便能夠在R中使用機器學習來運行情感分析。該任務必須在R中執行,因爲它是在我們大學的考試中,R被要求用作工具。刪除DocumentTermMatrix中的單詞
最初我們收集了一個較小的樣本,以便測試我們的代碼是否正常工作,然後纔開始編碼較大的數據集。我們的問題是,我們似乎無法弄清楚如何從dtm中刪除自定義單詞。我們到目前爲止的代碼看起來是這樣的(我們主要使用TM封裝):
file <- read.csv("Tmix.csv",
row.names = NULL, sep=";", header=TRUE) #just for loading the dataset
tweetsCorpus <- Corpus(VectorSource(file[,1]))
tweetsDTM <- DocumentTermMatrix(tweetsCorpus,
control = list(verbose = TRUE,
asPlain = TRUE,
stopwords = TRUE,
tolower = TRUE,
removeNumbers = TRUE,
stemWords = FALSE,
removePunctuation = TRUE,
removeSeparators = TRUE,
removeTwitter = TRUE,
stem = TRUE,
stripWhitespace = TRUE,
removeWords = c("customword1", "customword2", "customword3")))
我們也嘗試轉換爲DTM,使用removeWords命令之前刪除的話,連同所有的「在tm包中使用removeXXX命令,然後將其轉換爲dtm,但似乎不起作用。
重要的是我們不要簡單地刪除所有單詞,即5個或更少的觀察值。我們需要所有的觀測資料,除了我們想要刪除的觀測資料,例如https-adresses和類似的資料。
有誰知道我們是怎麼做到的?
還有第二個問題:是否有更簡單的方法可以刪除以https開頭的所有單詞,而不必將所有地址單獨寫入代碼。例如,我們正在編寫"httpstcokozcejeg", "httpstcolskjnyjyn", "httpstcolwwsxuem"
作爲從數據中刪除的單個自定義單詞。
注意:我們知道RemoveWords對我們的問題是一個可怕的解決方案,但我們無法弄清楚如何去做。
**非常感謝!**只是爲了正確地理解代碼,我們只需要在你的代碼運行的第一個行權?或者第二行是幹什麼的? – Nordsted
第一個是一個一般的例子。然後,兩種方法與直接gsub或tm_map和content_transformer混淆。 – OmaymaS