Переход от объекта ТМ к объекту KoRpus и наоборот
У меня проблема при переходе от объекта ТМ к объекту koRpus. Я должен нормализовать корпус с помощью инструментов tm, лемматизировать результаты с помощью koRpus и вернуться к tm, чтобы классифицировать результаты. Чтобы сделать это, мне нужно преобразовать объект tm в R-фрейм данных, который я затем преобразую в файл Excel, затем в текстовый файл и, наконец, в объект koRpus. Это код:
#from VCORPUS to DATAFRAME
dataframeD610P<-data.frame(text=unlist(sapply(Corpus.TotPOS, `[`, "content")), stringsAsFactors=F)
#from DATAFRAME to XLSX
#library(xlsx)
write.xlsx(dataframeD610P$text, ".\\mycorpus.xlsx")
#open with excel
#save in csv (UTF-8)
#import in KORPUS and lemmatization with KORPUS/TREETAGGER
tagged.results <- treetag(".\\mycorpus.csv", treetagger="manual", lang="it", sentc.end = c(".", "!", "?", ";", ":"),
TT.options=list(path="C:/TreeTagger", preset="it-utf8", no.unknown=T))
Тогда мне нужно сделать все задом наперед, чтобы вернуться к ТМ. Это код:
#from KORPUS to TXT
write.table(tagged.results@TT.res$lemma, ".\\mycorpusLEMMATIZED.txt")
#open with a text editor and formatting of the text
#from TXT to R
Lemma1.POS<- readLines(".\\mycorpusLEMMATIZEDfrasi.txt", encoding = "UTF-8")
#from R object to DATAFRAME
Lemma2.POS<-as.data.frame(Lemma1.POS, encoding = "UTF-8")
#from DATAFRAME to CORPUS
CorpusPOSlemmaFINAL = Corpus(VectorSource(Lemma2.POS$Lemma1.POS))
Есть ли более элегантное решение сделать это, не покидая R? Буду очень признателен за любую помощь или обратную связь.
Кстати, кто-нибудь знает, как спросить тм, какой документ внутри VCorpus содержит определенный токен? Я обычно превращаю корпус в информационный блок, чтобы идентифицировать документ. Есть ли способ сделать это в тм?
1 ответ
Благодаря unDocUMeantIt можно найти ответы здесь https://github.com/unDocUMeantIt/koRpus/issues/6