Я читал разные вопросы/ответы (особенно here и here), не применяя ни к какой ситуации.Как добавить метаданные в объект tm Corpus с tm_map
У меня есть матрица 11,390 строк с атрибутами идентификатора, автора, текста, например:
library(tm)
m <- cbind(c("01","02","03","04","05","06"),
c("Author1","Author2","Author2","Author3","Author3","Auhtor4"),
c("Text1","Text2","Text3","Text4","Text5","Text6"))
Я хочу, чтобы создать tm
корпус из него. Я могу быстро создать свой корпус с
tm_corpus <- Corpus(VectorSource(m[,3]))
, который завершает выполнение моей матрицы 11,390 строк в
user system elapsed
2.383 0.175 2.557
Но тогда, когда я пытаюсь добавить метаданные к своду с
meta(tm_corpus, type="local", tag="Author") <- m[,2]
в время выполнения составляет 15 минут и подсчет (я прекратил выполнение).
В соответствии с обсуждением here шансы значительно уменьшить время обработки корпуса с помощью tm_map
; что-то вроде
tm_corpus <- tm_map(tm_corpus, addMeta, m[,2])
Еще не знаю, как это сделать. Возможно, это будет что-то вроде
addMeta <- function(text, vector) {
meta(text, tag="Author") = vector[??]
text
}
За одну вещи, как перейти к tm_map
вектору значений следует присвоить каждый текст корпуса? Должен ли я вызвать функцию из цикла? Должен ли я заключить функцию tm_map
в пределах vapply
?
для меня работает звонок. Единственное отличие состоит в том, что я использовал «корпус» как тип: meta (tm_corpus, type = «corpus», tag = «Author») <- m [, 2] – user944351