我猜測這種技術與從任何數據框中取前N個字符相似,無論它是否是語料庫。如何取每個語料庫的前25個單詞(R)?
我嘗試:
create.greetings <- function(corpus, create_df = FALSE) {
for(i in length(Charlotte.corpus.raw)) {
Doc1<-Charlotte.corpus.raw[i]
Word1<-Doc1[1:25]
Greetings[i]<-Word1
}
return(VCorpus)
}
凡Greetings
開始與N = 6語料庫。我無法弄清楚如何製作一個空的語料庫,或者是一個足夠大的字符的語料庫。我在這裏有200個文件的文集(Charlotte.corpus.raw
)。與矢量(以及擴展,數據框)不同,創建空語料庫似乎不是一種簡單的方法。
問題的一部分是,R似乎沒有認識到「文檔」類。它只承認語料庫。也就是說,對於R來說,單個文檔是n = 1的語料庫。
可再現的樣品: 您將需要「以舊換新」和「dplyr」和「NLP」封裝以及更常見的R封裝
read.corpus <- function(directory, pattern = "", to.lower = TRUE) {
corpus <- DirSource(directory = directory, pattern = pattern) %>%
VCorpus # Read files and create `VCorpus` object
if(to.lower == TRUE) corpus <- # Lowercase text
tm_map(corpus,
content_transformer(tolower))
return(corpus)
}
然後運行你有幾個任意目錄功能txt文檔,那麼你有一個語料庫可以使用。然後將上面的Charlotte.corpus.raw替換成你的語料庫中的任何名稱。
是您的「文集」本質上只是一個字符串的載體,用空格分隔的字,每個句子被/段落?請提供一個[可重現的示例](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example),特別是小但具有代表性的示例數據。 – r2evans
@ r2evans我剛剛編輯的內容如何?我認爲你們使用已經存儲在電腦上的數據會更方便。 – Antecedent
對不起,我不能在這個系統上安裝'tm'(package'slam'不適用於R-3.2.5/win),所以我不能用你的代碼進行測試。除非'tm_map'可以做到這一點,否則我不在。 – r2evans