Tôi đã làm việc qua nhiều ví dụ trực tuyến về gói {tm} trong R, cố gắng tạo một TermDocumentMatrix. Việc tạo và làm sạch một kho văn bản khá đơn giản, nhưng tôi luôn gặp lỗi khi cố gắng tạo một ma trận. Lỗi này là:Lỗi TermDocumentMatrix trong R
Lỗi trong UseMethod ("meta", x): không có phương pháp áp dụng cho 'meta' áp dụng cho một đối tượng của lớp "nhân vật" Ngoài: Thông điệp cảnh báo: Trong mclapply (unname (nội dung (x)), termFreq, kiểm soát): tất cả các lõi dự kiến gặp phải lỗi trong mã người dùng
Ví dụ, đây là mã từ Jon Starkweather của khai thác văn bản example. Xin lỗi trước cho mã dài như vậy, nhưng điều này tạo ra một ví dụ tái sản xuất. Xin lưu ý rằng lỗi xuất hiện ở cuối với hàm {tdm}.
#Read in data
policy.HTML.page <- readLines("http://policy.unt.edu/policy/3-5")
#Obtain text and remove mark-up
policy.HTML.page[186:202]
id.1 <- 3 + which(policy.HTML.page == " TOTAL UNIVERSITY </div>")
id.2 <- id.1 + 5
text.data <- policy.HTML.page[id.1:id.2]
td.1 <- gsub(pattern = "<p>", replacement = "", x = text.data,
ignore.case = TRUE, perl = FALSE, fixed = FALSE, useBytes = FALSE)
td.2 <- gsub(pattern = "</p>", replacement = "", x = td.1, ignore.case = TRUE,
perl = FALSE, fixed = FALSE, useBytes = FALSE)
text.d <- td.2; rm(text.data, td.1, td.2)
#Create corpus and clean
library(tm)
library(SnowballC)
txt <- VectorSource(text.d); rm(text.d)
txt.corpus <- Corpus(txt)
txt.corpus <- tm_map(txt.corpus, tolower)
txt.corpus <- tm_map(txt.corpus, removeNumbers)
txt.corpus <- tm_map(txt.corpus, removePunctuation)
txt.corpus <- tm_map(txt.corpus, removeWords, stopwords("english"))
txt.corpus <- tm_map(txt.corpus, stripWhitespace); #inspect(docs[1])
txt.corpus <- tm_map(txt.corpus, stemDocument)
# NOTE ERROR WHEN CREATING TDM
tdm <- TermDocumentMatrix(txt.corpus)
Tôi đã xem bài đăng này và câu hỏi của bạn đã nhắc tôi nhớ điều đó. Có một cái nhìn của [liên kết này] (http://stackoverflow.com/questions/24771165/r-project-no-applicable-method-for-meta-applied-to-an-object-of-class-charact). Điều này có thể hữu ích. – jazzurro
@jazzurro - cảm ơn rất nhiều vì đã chuyển hướng tôi đến bài đăng này! việc thêm content_transformer vào người cho phép trong hàm tm_map đã giải quyết được vấn đề –
Tôi thực sự có cùng một vấn đề và thấy bài đăng đó. Tôi vui vì kịch bản của bạn đang hoạt động. – jazzurro