0
키/값 사전을 기반으로 토큰을 변환하는 데 사용하는 함수가 있습니다.mantain 사용자 정의 메타 데이터 tm_map에 대한 사용자 정의 함수
dictionary <- c("casa", "barco", "carro", "arbol")
names(dictionary) <- c("home", "boat", "car", "tree")
translate2 <- function (text, dictionary) {
text_out <- character(0)
for (i in 1:length(text)) {
text.split <- strsplit(text[i], "\\s")
translation <- dictionary[unlist(text.split)]
text_out <- append(text_out, paste(translation, sep="", collapse=" "))
}
PlainTextDocument(text_out, id = ID(text), author = Author(text))
}
이 기능은 메타`저자에 대해 올바르게 작동합니다
library(tm)
text <- "My car is on the tree next to my home under the boat"
corpus <- Corpus(VectorSource(text))
meta(corpus, "Author", type="local") <- "Kant"
meta(corpus, "TextID", type="local") <- "121212"
meta(corpus[[1]], "Author")
# [1] "Kant"
corpus <- tm_map(corpus, translate2, dictionary)
meta(corpus[[1]], "Author")
# [1] "Kant"
corpus[[1]]
# NA carro NA NA NA arbol NA NA NA casa NA NA barco
하지만 함수의 약간 수정 된 버전 TextID
같은 사용자 정의 메타를 통과 할 때
translate1 <- function (text, dictionary) {
text_out <- character(0)
for (i in 1:length(text)) {
text.split <- strsplit(text[i], "\\s")
translation <- dictionary[unlist(text.split)]
text_out <- append(text_out, paste(translation, sep="", collapse=" "))
}
PlainTextDocument(text_out, id = ID(text), author = Author(text),
TextID = TextID(text))
}
얻을 수 있습니다.
text <- "My car is on the tree next to my home under the boat"
corpus <- Corpus(VectorSource(text))
meta(corpus, "Author", type="local") <- "Kant"
meta(corpus, "TextID", type="local") <- "121212"
meta(corpus[[1]], "Author")
# [1] "Kant"
meta(corpus[[1]], "TextID")
# [1] "121212"
corpus <- tm_map(corpus, translate1, dictionary)
# Error in PlainTextDocument(text_out, id = ID(text), author = Author(text), :
# unused argument (TextID = TextID(text))